2016-01-11 14 views
7

Come si utilizzano i trattini personalizzati in un matplotlibprop_cycle? Secondo la documentazione Line2D si può usare una tupla del modulo (<offset>, (<lengthon>, <lengthoff>)) come un linestyle, e in effetti funziona per singoli trame, ma quando si aggiunge lo stesso a uno cycler, non riesce (vedere il codice di seguito).Trattini personalizzati nel termociclatore matplotlib

Ho perso/frainteso qualcosa, o potrebbe essere un bug?

Ad esempio, questo codice getta 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

Ho cercato di fuori intelligente questo usando ['set_dashes'] (http://matplotlib.org/api/lines_api.html#matplotlib.lines.Line2D.set_dashes) ma genera un errore molto simile' Proprietà artista sconosciuto: set (['trattini']) ' – Schorsch

+0

@Schorsch Sì, ho provato anche con trattini (ad esempio 'cycler ('trattini', [[3,1], [5,2]])'). Tuttavia, 'dashes' non ti consente di tracciare linee continue per quanto posso vedere, quindi anche se funzionasse, non sarebbe l'ideale. –

+2

Ho pubblicato un problema su GitHub: https://github.com/matplotlib/matplotlib/issues/5850 –

risposta

Problemi correlati