Maison >développement back-end >Tutoriel Python >Comment tracer des segments de ligne multicolores à partir de données à l'aide de Python ?

Comment tracer des segments de ligne multicolores à partir de données à l'aide de Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-29 09:15:301086parcourir

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

Traçage de segments de lignes multicolores à partir de données

Pour visualiser les points de données sous forme de ligne, nous pouvons utiliser matplotlib. Ici, nous avons deux listes, « latt » et « lont », qui représentent respectivement les coordonnées de latitude et de longitude. L'objectif est de tracer une ligne reliant les points de données, chaque segment de 10 points étant attribué une couleur unique.

Approche 1 : tracés de lignes individuelles

Pour un petit nombre de segments de ligne, des tracés de lignes individuels peuvent être créés pour chaque segment avec différentes couleurs. L'exemple de code suivant illustre cette approche :

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

Approche 2 : collections de lignes pour de grands ensembles de données

Pour les grands ensembles de données impliquant un grand nombre de segments de ligne, en utilisant Line Les collections peuvent améliorer l’efficacité. Voici un exemple :

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

En conclusion, les deux approches peuvent tracer efficacement des lignes avec différentes couleurs pour différents segments de points de données. Le choix dépend du nombre de segments de droite à tracer.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn