Come si utilizzano i trattini personalizzati in un matplotlib
prop_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()
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
@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. –
Ho pubblicato un problema su GitHub: https://github.com/matplotlib/matplotlib/issues/5850 –