Maison >développement back-end >Tutoriel Python >Comment tracer des segments de ligne multicolores à partir de données à l'aide de 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!