"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como traçar linhas com cores variadas no Matplotlib?

Como traçar linhas com cores variadas no Matplotlib?

Publicado em 2024-11-08
Navegar:102

How to Plot Lines with Varying Colors in Matplotlib?

Plotagem de linhas com cores variadas

No matplotlib, plotar uma linha com segmentos de cores distintos pode ser obtido por meio de várias abordagens. A escolha depende do número de segmentos de linha a serem plotados.

Pequeno número de segmentos de linha

Se apenas alguns segmentos de linha forem necessários, como ao traçar uma trajetória, considere o seguinte:

import numpy as np
import matplotlib.pyplot as plt

# Generate random data
xy = (np.random.random((10, 2)) - 0.5).cumsum(axis=0)

fig, ax = plt.subplots()

# Plot each line segment with a unique color
for start, stop in zip(xy[:-1], xy[1:]):
    x, y = zip(start, stop)
    ax.plot(x, y, color=plt.cm.gist_ncar(np.random.random()))

plt.show()

Grande número de segmentos de linha

Ao lidar com um grande número de segmentos de linha, um método mais eficiente é utilizar um LineCollection.

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 for compatibility with LineCollection
xy = xy.reshape(-1, 1, 2)
segments = np.hstack([xy[:-1], xy[1:]])

fig, ax = plt.subplots()

# Create a LineCollection with randomly assigned colors
coll = LineCollection(segments, cmap=plt.cm.gist_ncar)
coll.set_array(np.random.random(xy.shape[0]))

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

plt.show()

Em ambos os métodos, o mapa de cores selecionado pode ser alterado consultando a documentação do Matplotlib.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3