Ich versuche, ein numpy-Array so zu plotten, dass alle Punkte mit dem gleichen y-Achsenwert in einer geraden Linie verbunden werden sollen. Aber einige, wie ich das nicht erreichen kann.Verbinden Sie Punkte mit demselben Wert in Python matplotlib
import numpy as np
import matplotlib as mp
import matplotlib.pyplot as plt
# Declare numpy array with nans
x=np.array([np.nan,10005,10005,10006,10006,10006,10007,10007,10007, 10008,10007,10008,10008,10008, np.nan,10010,10010,10010, np.nan, np.nan, np.nan, np.nan])
# Plot the points
plt.plot(x, marker="o", linestyle='-')
# Display the plot in the window
plt.show()
Daraus ergibt sich:
Aber ich würde die Handlung sein mag:
Auch, wenn es einen Weg gibt einen gewissen Spielraum an der Spitze hinzuzufügen und Unterseite des Diagramms, um die Grenzpunkte deutlich anzuzeigen.
Die naive Lösung wäre, eine Liste von Listen allen gleich y-Wertes zu machen und separat diejenigen, die als Linien zu zeichnen. –
Wenn Sie mehr Kontrolle über die Figur haben möchten, um zum Beispiel den Rand zu kontrollieren, können Sie auch Figuren- und Achsenobjekte erstellen, was es einfacher macht, alle möglichen Dinge für die Figur (und ihre Achsen) einzustellen. Wie fig, axes = pltplots() –