Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Memplot Garisan dengan Warna Berbeza-beza untuk Setiap Segmen 10 Mata Berturut-turut?
Memandangkan dua senarai, latt dan lont, matlamatnya adalah untuk memplot satu baris di mana setiap satu segmen 10 titik berturut-turut diwakili dalam warna yang berbeza.
Bilangan Terhad Segmen Garisan
Jika bilangan segmen garisan kecil , seperti 10 atau kurang, pendekatan mudah ialah menggunakan gelung untuk memplot setiap segmen dengan warna yang unik.
<code class="python">import numpy as np import matplotlib.pyplot as plt # Generate random colors def uniqueish_color(): return plt.cm.gist_ncar(np.random.random()) # Plot the line segments xy = (np.random.random((10, 2)) - 0.5).cumsum(axis=0) fig, ax = plt.subplots() for start, stop in zip(xy[:-1], xy[1:]): x, y = zip(start, stop) ax.plot(x, y, color=uniqueish_color()) plt.show()</code>
Bilangan Besar Segmen Baris
Untuk sebilangan besar segmen garisan, penggunaan gelung boleh menjadi perlahan. Sebaliknya, buat objek LineCollection.
<code class="python">import numpy as np import matplotlib.pyplot as plt from matplotlib.collections import LineCollection # Generate the line segments xy = (np.random.random((1000, 2)) - 0.5).cumsum(axis=0) xy = xy.reshape(-1, 1, 2) segments = np.hstack([xy[:-1], xy[1:]]) # Create a LineCollection object fig, ax = plt.subplots() coll = LineCollection(segments, cmap=plt.cm.gist_ncar) # Set the color array coll.set_array(np.random.random(xy.shape[0])) # Add the LineCollection to the axes ax.add_collection(coll) ax.autoscale_view() # Display the plot plt.show()</code>
Untuk kedua-dua pendekatan, kami menggunakan peta warna "gist_ncar" untuk menjana warna unik. Rujuk halaman ini untuk pilihan peta warna lain: http://matplotlib.org/examples/color/colormaps_reference.html
Atas ialah kandungan terperinci Bagaimana untuk Memplot Garisan dengan Warna Berbeza-beza untuk Setiap Segmen 10 Mata Berturut-turut?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!