Wie zeichne ich mit Matplotlib eine Linie mit unterschiedlichen Farben?

Linda Hamilton
Freigeben: 2024-10-31 06:51:30
Original
422 Leute haben es durchsucht

How to Plot a Line with Varying Colors Using Matplotlib?

Plotten einer Linie mit unterschiedlichen Farben

Problem

Gegeben zwei Listen von Datenpunkten, Breitengrad und Längengrad, besteht das Ziel darin, die Daten als zu visualisieren eine Linie mit unterschiedlichen Farben. Die Linie sollte in Zeiträume unterteilt werden, wobei jeder Zeitraum 10 Datenpunkte aus beiden Listen umfasst. Jeder Periode sollten unterschiedliche Farben zugewiesen werden.

Lösung

Methode 1: Begrenzte Anzahl von Liniensegmenten

Für eine kleine Anzahl von Liniensegmenten Der folgende Ansatz kann verwendet werden:

<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>
Nach dem Login kopieren

Methode 2: Große Anzahl von Zeilen Segmente

Für eine große Anzahl von Liniensegmenten kann eine LineCollection zur Verbesserung der Leistung verwendet werden:

<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>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie zeichne ich mit Matplotlib eine Linie mit unterschiedlichen Farben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!