Jak można użyć niestandardowych kresek w matplotlib
prop_cycle
? Zgodnie z dokumentacją Line2D
można użyć krotki w postaci (<offset>, (<lengthon>, <lengthoff>))
jako stylu liniowego, i rzeczywiście działa to dla pojedynczych wykresów, ale po dodaniu tego samego do cycler
, zawiedzie (zobacz poniższy kod).Niestandardowe kreski w programie matplotlib cycler
Czy przeoczyłem/źle zrozumiałem cokolwiek, czy może to błąd?
Na przykład ten kod rzuca AttributeError: 'Line2D' object has no attribute '_dashSeq'
:
import matplotlib.pyplot as plt
from cycler import cycler
pc = cycler('linestyle', ['-', (0,(3,1))])
# this works
fig,ax = plt.subplots()
ax.plot([0,1],linestyle='-')
ax.plot([1,2],linestyle=(0,(3,1)))
# this fails
fig,ax = plt.subplots()
ax.set_prop_cycle(pc)
ax.plot([0,1])
ax.plot([1,2])
plt.show()
Próbowałem to out-mądry za pomocą ['set_dashes'] (http://matplotlib.org/api/lines_api.html#matplotlib.lines.Line2D.set_dashes), ale generuje bardzo podobny błąd' Unknow artist properties: set (['dashes']) ' – Schorsch
@Schorsch Tak, próbowałem również z myślnikami (np. 'Cycler ('dash', [[3,1], [5,2]])'). Jednak "kreseczki" nie pozwalają ci rysować linii ciągłych, o ile widzę, więc nawet gdyby zadziałało, nie byłoby idealnie. –
Napisałem problem na GitHub: https://github.com/matplotlib/matplotlib/issues/5850 –