Matplotlib - Kennzeichnung Punkte (x,y) auf einer Linie mit dem Wert z
Ich versuche zu machen, ein 2d-plot mit pyplot. Bin ich beim Lesen in eine Datei mit mehreren Spalten, von denen jede enthält rund 100 Werte zwischen 1 und 10. Ich bin Plotten Spalte 5 gegenüber Spalte 6, was in Ordnung ist.
Was ich auch machen will ist, beschriften Sie die resultierende Zeile mit integer-Werten aus Spalte 0. Also die Zeile hat 11 Punkte auf, an den Positionen (x,y), wo die Spalte 0 ist eine ganze Zahl. Ich möchte auch diese Punkte beschriftet werden, dass integer.
Ich würde wirklich zu schätzen jede Hilfe bei diesem, seine mich verrückt!
was haben Sie bisher ausprobiert? In anderen Worten, haben Sie einige Beispiel-code, der zeigt, was funktioniert und was nicht funktioniert (oder Sie sind verloren). Halten Sie im Verstand, den Sie formatieren können Sie den code bei der Bearbeitung Ihrer Frage...
Was haben Sie versucht? Können Sie ein code-snippet so weit?
Was haben Sie versucht? Können Sie ein code-snippet so weit?
vals[vals % 1 == 0]
findet zahlen, und Sie können matplotlib.pyplot.text
zum zeichnen von text auf. plt.text(x,y,str(y))
für alle Ihre x,y
Paare.InformationsquelleAutor user1177963 | 2012-01-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre Frage, ich bin mir nicht 100% klar, was genau Sie wollen, sind zu tun.
Willst du einfach nur label jeden vertex in einer Linie? Oder möchten Sie nur eine Bezeichnung Eckpunkte, dass sind die ganzen zahlen? Oder wollen Sie zu interpolieren, wobei der integer - "Kreuzungen" würde die Linie entlang der Linie und label?
First off, für das laden der text-Datei, schau mal in
numpy.loadtxt
, wenn Sie nicht bereits. In Ihrem Fall könnten Sie so etwas wie:Jedenfalls, als ein Beispiel, die einfachste Möglichkeit (Kennzeichnung jedes vertex):
Nun, für die zweite option, wir haben vielleicht etwas mehr wie diesem (Ähnlich zu dem, was @mathematische.Kaffee vorgeschlagen):
TypeError: __init__() missing 1 required positional argument: 's'
bei dieser Liniearrowprops=dict(arrowstyle='->', shrinkA=0)
InformationsquelleAutor Joe Kington