Das Zeichnen von Linien mit unterschiedlichen Farben kann durch verschiedene Methoden erreicht werden. Der bevorzugte Ansatz hängt von der Anzahl der zu rendernden Liniensegmente ab.
Für eine kleine Anzahl von Liniensegmenten (z. B. weniger als 10) ist der folgende Ansatz ausreichend :
<code class="python">import numpy as np import matplotlib.pyplot as plt # Define line segment data xy = (np.random.random((10, 2)) - 0.5).cumsum(axis=0) # Create figure and axes fig, ax = plt.subplots() # Iterate through line segments for start, stop in zip(xy[:-1], xy[1:]): x, y = zip(start, stop) ax.plot(x, y, color=np.random.rand(3)) plt.show()</code>
Für eine große Anzahl von Liniensegmenten (z. B. über tausend) bieten LineCollections eine effizientere Lösung:
<code class="python">import numpy as np import matplotlib.pyplot as plt from matplotlib.collections import LineCollection # Define line segment data xy = (np.random.random((1000, 2)) - 0.5).cumsum(axis=0) # Reshape data into segments xy = xy.reshape(-1, 1, 2) segments = np.hstack([xy[:-1], xy[1:]]) # Create figure and axes fig, ax = plt.subplots() # Create LineCollection with random colors coll = LineCollection(segments, cmap=plt.cm.gist_ncar) coll.set_array(np.random.random(xy.shape[0])) # Add LineCollection to axes ax.add_collection(coll) ax.autoscale_view() plt.show()</code>
Beide Methoden basieren auf einer zufälligen Farbauswahl aus dem „gist_ncar“-Farbverstärker. Eine größere Auswahl finden Sie unter: http://matplotlib.org/examples/color/colormaps_reference.html
Das obige ist der detaillierte Inhalt vonWie zeichne ich farbige Liniensegmente in Matplotlib?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!