Memplot garisan dengan warna yang berbeza boleh dicapai melalui pelbagai kaedah. Pendekatan pilihan bergantung pada bilangan segmen garisan yang akan dipaparkan.
Untuk sebilangan kecil segmen garisan (cth., kurang daripada 10), pendekatan berikut sudah memadai :
<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>
Untuk sebilangan besar segmen baris (cth., lebih seribu), LineCollections menyediakan penyelesaian yang lebih cekap:
<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>
Kedua-dua kaedah bergantung pada pemilihan warna rawak daripada coloramp "gist_ncar". Untuk pilihan yang lebih besar, rujuk: http://matplotlib.org/examples/color/colormaps_reference.html
Atas ialah kandungan terperinci Bagaimana untuk Memplot Segmen Garis Berwarna dalam Matplotlib?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!