Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Memplot Garisan dengan Warna Berbeza-beza untuk Setiap Segmen 10 Mata Berturut-turut?

Bagaimana untuk Memplot Garisan dengan Warna Berbeza-beza untuk Setiap Segmen 10 Mata Berturut-turut?

Linda Hamilton
Lepaskan: 2024-10-31 01:53:02
asal
463 orang telah melayarinya

How to Plot a Line with Varying Colors for Each Segment of 10 Consecutive Points?

Merancang Garis dalam Warna Yang Berbeza

Pernyataan Masalah

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.

Penyelesaian

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>
Salin selepas log masuk

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>
Salin selepas log masuk

Memilih Warna

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan