2016-01-11 10 views
7

matplotlibprop_cycleのカスタムダッシュはどのように使用しますか? Line2Dのドキュメントによれば、(<offset>, (<lengthon>, <lengthoff>))のタプルをラインスタイルとして使うことができますが、実際には個々のプロットで機能しますが、cyclerに追加すると失敗します(下のコードを参照)。matplotlib cyclerのカスタムダッシュ

私は何かが間違っていると誤解していますか、これはバグでしょうか?例えば

、このコードは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

を参照して、バグであることが確認された、とmatplotlibの1.5.2で修正される必要があります['set_dashes'](http://matplotlib.org/api/lines_api.html#matplotlib.lines.Line2D.set_dashes)、これは非常に似たエラーを生成します。' Unknow artist properties:set([ダッシュ] ') ' – Schorsch

+0

@Schorschはい、ダッシュも試しました(例えば、 'cycler( 'dashes'、[[3,1]、[5,2]]))。しかし、「ダッシュ」は、私が見る限り、実線をプロットすることはできません。したがって、それが機能しても理想的ではありません。 –

+2

私はGitHubに問題を投稿しました:https://github.com/matplotlib/matplotlib/issues/5850 –

答えて