2016-01-11 14 views
7

Jak można użyć niestandardowych kresek w matplotlibprop_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() 
+0

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

+0

@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. –

+2

Napisałem problem na GitHub: https://github.com/matplotlib/matplotlib/issues/5850 –

Odpowiedz

Powiązane problemy