W matplotlib chcę utworzyć linię przy użyciu matplotlib.pyplot
, która jest naprzemiennie czarnymi i żółtymi kresek, a następnie chcę dołączyć tę linię do legendy. Jak mogę to zrobić?Jak uzyskać naprzemienne kolory linii przerywanej przy użyciu matplotlib?
mógłby zrobić coś takiego:
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()
ale wtedy linia na legendzie wydaje jako solidnego czarną linią, a nie czarno-żółty myślnikami.
Spojrzałem na matplotlib.path_effects
, ale nie mogę stwierdzić, czy można osiągnąć to, czego chcę; Mogę zarysować lub przesłonić linię, ale nie jestem pewien, czy mogę nakładać przerywaną linię w innym kolorze.
Krótkie pytanie: Czy linia ma żółte i czarne kreski (np. Żółty kreska - puste miejsce - czarny kreska - puste miejsce - żółty kreska ...). Lub czy wystarczyłoby dostosowanie wpisu legendy dla żółtej linii przerywanej na wierzchu pełnej czarnej linii? – hitzg
Obraz, który miałem w głowie, był pod tym, co opublikował Tanmaya Meher poniżej - ale jeśli masz sposób robienia tego, co opisujesz, byłoby to prawdopodobnie przydatne dla osób odwiedzających to pytanie w przyszłości, więc zachęcam cię do dodaj to jako odpowiedź! –