Comment tracer une ligne avec des couleurs variables pour chaque segment de 10 points consécutifs ?

Linda Hamilton
Libérer: 2024-10-31 01:53:02
original
386 Les gens l'ont consulté

How to Plot a Line with Varying Colors for Each Segment of 10 Consecutive Points?

Tracer une ligne dans différentes couleurs

Énoncé du problème

Étant donné deux listes, latt et lont, l'objectif est de tracer une seule ligne où chacune le segment de 10 points consécutifs est représenté dans une couleur différente.

Solution

Nombre limité de segments de ligne

Si le nombre de segments de ligne est petit , par exemple 10 ou moins, une approche simple consiste à utiliser une boucle pour tracer chaque segment avec une couleur unique.

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

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

# Plot the line segments
xy = (np.random.random((10, 2)) - 0.5).cumsum(axis=0)
fig, ax = plt.subplots()
for start, stop in zip(xy[:-1], xy[1:]):
    x, y = zip(start, stop)
    ax.plot(x, y, color=uniqueish_color())
plt.show()</code>
Copier après la connexion

Grand nombre de segments de ligne

Pour un grand nombre de segments de ligne, l’utilisation d’une boucle peut être lente. Au lieu de cela, créez un objet LineCollection.

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

# Generate the line segments
xy = (np.random.random((1000, 2)) - 0.5).cumsum(axis=0)
xy = xy.reshape(-1, 1, 2)
segments = np.hstack([xy[:-1], xy[1:]])

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

# Set the color array
coll.set_array(np.random.random(xy.shape[0]))

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

# Display the plot
plt.show()</code>
Copier après la connexion

Sélection des couleurs

Pour les deux approches, nous utilisons la palette de couleurs "gist_ncar" pour générer des couleurs uniques. Reportez-vous à cette page pour d'autres options de palette de couleurs : http://matplotlib.org/examples/color/colormaps_reference.html

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!