Memandangkan dua senarai titik data, latt dan lont, matlamatnya adalah untuk menggambarkan data sebagai garisan dengan warna yang berbeza-beza. Garis harus dibahagikan kepada tempoh, dengan setiap tempoh terdiri daripada 10 titik data daripada kedua-dua senarai. Warna yang berbeza harus diberikan pada setiap noktah.
Kaedah 1: Bilangan Terhad Segmen Baris
Untuk sebilangan kecil segmen garisan, pendekatan berikut boleh digunakan:
<code class="python">import numpy as np import matplotlib.pyplot as plt def uniqueish_color(): """Generate a unique-looking color.""" return plt.cm.gist_ncar(np.random.random()) # Generate random data xy = (np.random.random((10, 2)) - 0.5).cumsum(axis=0) # Create a figure and axis fig, ax = plt.subplots() # Iterate over segments for start, stop in zip(xy[:-1], xy[1:]): x, y = zip(start, stop) ax.plot(x, y, color=uniqueish_color()) # Display the plot plt.show()</code>
Kaedah 2: Besar Bilangan Segmen Baris
Untuk sebilangan besar segmen baris, LineCollection boleh digunakan untuk meningkatkan prestasi:
<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 xy = xy.reshape(-1, 1, 2) segments = np.hstack([xy[:-1], xy[1:]]) # Create a figure and axis fig, ax = plt.subplots() # Create a LineCollection coll = LineCollection(segments, cmap=plt.cm.gist_ncar) # Set colors coll.set_array(np.random.random(xy.shape[0])) # Add collection to axis ax.add_collection(coll) # Adjust view ax.autoscale_view() # Display the plot plt.show()</code>
Atas ialah kandungan terperinci Bagaimana untuk Memplot Garis dengan Pelbagai Warna Menggunakan Matplotlib?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!