Ich habe eine Kurve von einigen Daten, die ich mit Matplotlib plotten. Der kleine Wert x-Bereich der Daten besteht ausschließlich aus NaN-Werten, so dass meine Kurve abrupt bei einem Wert von x >> 0 beginnt (was für verschiedene Datensätze nicht notwendigerweise der gleiche Wert ist). Ich möchte eine vertikale gestrichelte Linie dort platzieren, wo die Kurve beginnt und sich von der Kurve zur x-Achse erstreckt. Kann mir jemand sagen, wie ich das machen könnte? DankPython - Plotten vertikale Linie
Antwort
Angenommen, Sie wissen, wo die Kurve beginnt, können Sie einfach verwenden:
plt.plot((x1, x2), (y1, y2), 'r-')
die Linie vom Punkt (x1, y1)
bis zu dem Punkt (x2, y2)
Hier in Ihrem Fall zu ziehen, x1
und x2
werden gleiche , nur y1
und y2
sollte sich ändern, da es eine gerade vertikale Linie ist, die Sie wollen.
vertikale gestrichelte Linie Zum Zeichnen Sie den gleichen x-Wert gesetzt und Code wie folgt machen (use ‚-‘ für gestrichelte Linie oder ‚:‘):
x = 100 # line at this x position
y0 = 0 # y limits of a line
y1 = 100
plt.plot((x,x),(y0,y1),'k--')
Als Alternative können Sie Verwenden Sie auch plt.vlines, um eine vertikale Linie zu zeichnen, und vorausgesetzt, dass Ihre Daten in einem numby Array und nicht in einer Liste sind, können Sie die for-Schleife überspringen, um den ersten Nicht-NaN-Wert zu ermitteln und np.isfinite stattdessen verwenden. Etwas wie:
x_value = data_array[np.where(np.isfinite(data_array))[0]]
Je nachdem, wie viele Werte, die Sie in einer Schleife haben durch jedes Mal auf den ersten endlichen Wert zu erhalten, kann dies eine schnellere Option sein.
- 1. Plotten mehrfarbige Linie in Matlab
- 2. Add Linie Pandas plotten
- 3. Hinzufügen vertikale Linie in der Kurve ggplot
- 4. Vertikale weiße Linie auf Eclipse
- 5. Vertikale Linie passen mit Polyfit
- 6. Horizontale/Vertikale Linie in plotly
- 7. vertikale Linie an bestimmten Datenpunkt
- 8. vertikale Linie mit Text um
- 9. Vertikale Linie mit jedem Zitat
- 10. vertikale Linie zwischen Latex Minipages
- 11. Jfreechart vertikale Linie ist verschwommen
- 12. wie vertikale Linie zwischen zwei Divs hinzufügen
- 13. Wie man vertikale Linie in css
- 14. Bootstrap-3 vertikale Linie in Knopfgruppe
- 15. Netbeans 6.9 Vertikale Linie auf dem Bildschirm
- 16. hinzufügen vertikale Linie des mittleren bis Dichteplot
- 17. hinzufügen vertikale Linie nach unten css
- 18. Python einfach linear plotten
- 19. Python, verbinden vertikale Listen
- 20. Python- Plotten nicht verfügbar
- 21. Plotten Audio Spektrogramm in Python
- 22. Vertikale weiße Linien beim Plotten von Heatmap in TIFF
- 23. Eine Funktion vertikal in Python plotten
- 24. Python Schildkröte, Linie löschen
- 25. eine Linie in Python
- 26. Zeichne vertikale Linie in der Mitte eines Liniendiagramms (Indikator)
- 27. Wie zeichne ich eine vertikale Linie in iReport?
- 28. Fügen Sie vertikale Linie mit Text dazwischen, zwischen 2 Forms
- 29. Google Combo Chart horizontale und vertikale Linie in Säulendiagramm hinzufügen
- 30. Wie zeichnet man eine vertikale Linie auf HighCharts?
Wenn ich nicht weiß, wo die Kurve beginnt, gibt es eine Möglichkeit, die Position in einem Array der ersten Nicht-NaN-Werte herauszufinden? –
Ja kann getan werden .. Verwenden Sie einfach eine 'for' Schleife, um die genaue Position des letzten' NaN' in Ihrem Array zu finden. Wenn Sie davon ausgehen, dass Ihr Array 'x' heißt, können Sie' x [12] 'verwenden, vorausgesetzt, der letzte' NaN'-Wert wurde an der 12. Position in Ihrem Array gefunden – ThePredator