In matplotlib kann das Zeichnen einer Linie mit unterschiedlichen Farbsegmenten durch verschiedene Ansätze erreicht werden. Die Auswahl hängt von der Anzahl der zu zeichnenden Liniensegmente ab.
Wenn nur wenige Liniensegmente erforderlich sind, wie zum Beispiel beim Zeichnen einer Flugbahn, berücksichtigen Sie Folgendes:
<code class="python">import numpy as np import matplotlib.pyplot as plt # Generate random data xy = (np.random.random((10, 2)) - 0.5).cumsum(axis=0) fig, ax = plt.subplots() # Plot each line segment with a unique color for start, stop in zip(xy[:-1], xy[1:]): x, y = zip(start, stop) ax.plot(x, y, color=plt.cm.gist_ncar(np.random.random())) plt.show()</code>
Beim Umgang mit einer großen Anzahl von Liniensegmenten ist die Verwendung einer LineCollection eine effizientere Methode.
<code class="python">import numpy as np import matplotlib.pyplot as plt from matplotlib.collections import LineCollection # Generate random data xy = (np.random.random((1000, 2)) - 0.5).cumsum(axis=0) # Reshape data for compatibility with LineCollection xy = xy.reshape(-1, 1, 2) segments = np.hstack([xy[:-1], xy[1:]]) fig, ax = plt.subplots() # Create a LineCollection with randomly assigned colors coll = LineCollection(segments, cmap=plt.cm.gist_ncar) coll.set_array(np.random.random(xy.shape[0])) # Add the LineCollection to the plot ax.add_collection(coll) ax.autoscale_view() plt.show()</code>
Bei beiden Methoden Die ausgewählte Farbkarte kann mithilfe der Matplotlib-Dokumentation geändert werden.
Das obige ist der detaillierte Inhalt vonWie zeichne ich Linien mit unterschiedlichen Farben in Matplotlib?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!