Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Memplot Segmen Garis Berbilang Warna daripada Data Menggunakan Python?

Bagaimana untuk Memplot Segmen Garis Berbilang Warna daripada Data Menggunakan Python?

Susan Sarandon
Susan Sarandonasal
2024-10-29 09:15:301089semak imbas

How to Plot Multi-Colored Line Segments from Data Using Python?

Merancang Segmen Garis Berbilang Warna daripada Data

Untuk menggambarkan titik data sebagai garisan, kami boleh menggunakan matplotlib. Di sini, kami mempunyai dua senarai, 'latt' dan 'lont', yang masing-masing mewakili koordinat latitud dan longitud. Objektifnya adalah untuk memplot garis yang menghubungkan titik data, dengan setiap segmen 10 titik diberikan warna yang unik.

Pendekatan 1: Plot Garis Individu

Untuk yang kecil bilangan segmen garisan, plot garisan individu boleh dibuat untuk setiap segmen dengan warna yang berbeza-beza. Kod contoh berikut menunjukkan pendekatan ini:

<code class="python">import numpy as np
import matplotlib.pyplot as plt

# Assume the list of latitude and longitude is provided

# Generate uniqueish colors
def uniqueish_color():
    return plt.cm.gist_ncar(np.random.random())

# Create a plot
fig, ax = plt.subplots()

# Iterate through the data in segments of 10
for start, stop in zip(latt[:-1], latt[1:]):
    # Extract coordinates for each segment
    x = latt[start:stop]
    y = lont[start:stop]

    # Plot each segment with a unique color
    ax.plot(x, y, color=uniqueish_color())

# Display the plot
plt.show()</code>

Pendekatan 2: Pengumpulan Baris untuk Set Data Besar

Untuk set data besar yang melibatkan sejumlah besar segmen baris, menggunakan Talian Koleksi boleh meningkatkan kecekapan. Berikut ialah contoh:

<code class="python">import numpy as np
import matplotlib.pyplot as plt
from matplotlib.collections import LineCollection

# Prepare the data as a sequence of line segments
segments = np.hstack([latt[:-1], latt[1:]]).reshape(-1, 1, 2)

# Create a plot
fig, ax = plt.subplots()

# Create a LineCollection object
coll = LineCollection(segments, cmap=plt.cm.gist_ncar)

# Assign random colors to the segments
coll.set_array(np.random.random(latt.shape[0]))

# Add the LineCollection to the plot
ax.add_collection(coll)
ax.autoscale_view()

# Display the plot
plt.show()</code>

Kesimpulannya, kedua-dua pendekatan boleh memplot garisan dengan pelbagai warna dengan berkesan untuk segmen titik data yang berbeza. Pilihan bergantung pada bilangan segmen garisan yang hendak diplotkan.

Atas ialah kandungan terperinci Bagaimana untuk Memplot Segmen Garis Berbilang Warna daripada Data Menggunakan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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