2017-05-27 5 views
0

Ich bin neu in der Programmierung und ich habe eine Frage, die mich gebeten, eine Konnektivität Plot von Punkt aus den 2 Listen gegeben. Meine Logik war eine einzige konstant zu halten koordinieren, während die andere in einer for-Schleife Plotten aber nicht funktioniert hat ... bitte helfenConnectivity Plot von Punkten

from matplotlib import pyplot as plt 
import numpy as np 

def Question_3(): 

    x = [0, 0.7, 1, 0.7, 0, -0.7, -1, -0.7] 
    y = [1, 0.7, 0, -0.7, -1, -0.7, 0, 0.7] 

    plt.subplot(121) 
    plt.title("Scatter plot of points", fontsize = 16) 
    plt.plot(x, y, ".k") 
    plt.show() 

    plt.subplot(122) 
    plt.title("Connectivity plot of points", fontsize = 16) 

    for C1 in zip(x, y): 
     for C2 in zip(x, y):    
      plt.plot(C1, C2, "-r")  

    plt.show() 
Question_3() 

Antwort

1

ich von Connectivity-Plot nehme meinen Sie einen Plot, der jeden Punkt mit jedem anderen verbindet Punkt.

In diesem Sinne ist der von Ihnen gewählte Ansatz richtig; Beachten Sie, dass plt.plot(x,y) eine Liste oder Sequenz der x-Koordinaten als erstes Argument und eine für die y-Koordinate als zweites Argument enthält. Sie müssten daher die Variablen aus den beiden Schleifen in ihre x- und y-Komponente entpacken und aufteilen.

from matplotlib import pyplot as plt 

def Question_3(): 

    x = [0, 0.7, 1, 0.7, 0, -0.7, -1, -0.7] 
    y = [1, 0.7, 0, -0.7, -1, -0.7, 0, 0.7] 

    plt.subplot(121) 
    plt.title("Scatter plot of points", fontsize = 16) 
    plt.plot(x, y, ".k") 


    plt.subplot(122) 
    plt.title("Connectivity plot of points", fontsize = 16) 

    for x0,y0 in zip(x, y): 
     for x1,y1 in zip(x, y):    
      plt.plot((x0,x1), (y0,y1), "-r")  

    plt.show() 
Question_3() 

enter image description here

+0

Dank !! Ich habe das versucht, aber ich habe 'plt.plot ((x0, y0), (x1, y1)," -r ")'. –

Verwandte Themen