Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Memplot Garis dengan Pelbagai Warna Menggunakan Matplotlib?

Bagaimana untuk Memplot Garis dengan Pelbagai Warna Menggunakan Matplotlib?

Linda Hamilton
Lepaskan: 2024-10-31 06:51:30
asal
543 orang telah melayarinya

How to Plot a Line with Varying Colors Using Matplotlib?

Memplot Garisan dengan Warna Berbeza

Masalah

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.

Penyelesaian

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

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

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!

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