In matplotlib, voglio fare una linea usando matplotlib.pyplot
che sta alternando trattini neri e gialli, e poi voglio includere quella linea nella legenda. Come lo faccio?Come ottenere colori alternati nella linea tratteggiata usando Matplotlib?
avrei potuto fare qualcosa di simile:
from matplotlib import pyplot as plt, gridspec
import numpy as np
grid = gridspec.GridSpec(1,1)
ax = plt.subplot(grid[0,0])
x = np.arange(1,11)
y = x * 2
ax.plot(x, y, '-', color = 'black', linewidth = 1, label = 'my line')
ax.plot(x, y, '--', color = 'yellow')
ax.legend()
plt.show()
ma poi la linea sulla leggenda apparirebbe come una linea nera solida, piuttosto che precipitare come in bianco e giallo.
Ho guardato allo matplotlib.path_effects
ma non riesco a capire se sia possibile ottenere ciò che voglio; Posso delineare o ombreggiare la linea, ma non sono sicuro di poter sovrapporre una linea tratteggiata di colori diversi.
Breve domanda: la linea deve avere trattini gialli e neri (cioè un trattino giallo - spazio vuoto - trattino nero - spazio vuoto - trattino giallo ...). O sarebbe sufficiente adattare la voce della legenda per la linea tratteggiata gialla su una linea nera piena? – hitzg
L'immagine che avevo in testa era di ciò che ha pubblicato Tanmaya Meher, qui sotto - ma se hai un modo di fare come descrivi, sarebbe probabilmente utile per le persone che visitano questa domanda in futuro, quindi ti incoraggio a aggiungilo comunque come risposta! –