Ich habe eine adjacency matrix A und eine Anordnung definieren, die Koordinaten jedes Knotens:Netzgraph nicht Pfeile entlang der Kante in Python zeigt
import numpy as np
import matplotlib.pyplot as plt
import networkx as nx
%matplotlib inline
Import adjacency matrix A[i,j]
A = np.matrix([[0, 1, 1, 0, 0, 1, 0],
[0, 0, 1, 1, 0, 0, 0],
[0, 0, 0, 1, 1, 1, 0],
[0, 0, 0, 0, 1, 1, 0],
[0, 0, 0, 0, 0, 0, 1],
[0, 0, 0, 0, 0, 0, 1],
[0, 0, 0, 0, 0, 0, 0]])
## Import node coordinates
xy = np.array([[0, 0],
[-20, 20],
[17, 27],
[-6, 49],
[15, 65],
[-20, 76],
[5, 100]])
Ihr Ziel ist die Grafik zu zeichnen anzeigt, wie die Knoten untereinander verbinden, . Daher sollte jede Kante einen Pfeil oder einen bidirektionalen Pfeil haben, der angibt, in welche Richtung sie sich fortbewegen soll.
Ich konnte die Konnektivität anzeigen, aber es gibt keine Pfeile, obwohl ich den Parameter als True
angegeben habe.
## Draw newtwork
G = nx.from_numpy_matrix(A, xy)
nx.draw_networkx(G, pos=xy, width=3, arrows=True)
Können Sie bitte einen Weg vorschlagen, mich um mein Ziel zu erreichen, ohne die Eingabedaten zu modifizieren (A
und xy
)?
Wenn Sie die Etiketten auf der Oberseite der Knoten wollen, müssen Sie auch die Positionen zu 'nx.draw' passieren. – Paul
danke! den Code bearbeitet – smundlay