2016-11-07 42 views
0

以我前導我有pyplot.plot()不尊重關鍵字參數

import numpy as np 
import numpy as np 
import matplotlib.pyplot as plt 
from cycler import cycler 
plt.style.use([ 
    'seaborn-paper', {'axes.prop_cycle': (
     cycler('color', ['k'])* 
     cycler('lw', [2,1])* 
     cycler('dashes', [[],[13,2],[8,3,1,3]]))}]) 

當我使用關鍵字參數(或它們的等效物),例如 以後使用plt.plot()

a = np.array((0.,5.)) 
plt.plot(a,a, linewidth=6) 
plt.plot(-a,a, '-') 

我期待非常寬的第一條線和連續的第二條線,但這是我得到的

the wrong line types!

我能做些什麼,如果我想

  1. 已爲線型一個明智的(對我來說:)默認週期
  2. 打破規則在這裏和那裏?

TIA

回答

1

問題作爲對線寬的別名沒有被正確去混疊(因此兩者linewidthlw正被用來設置寬度和相互矛盾的)。樣式字符串vs linestyle vs破折號也發生類似的事情。

import numpy as np 
import numpy as np 
import matplotlib.pyplot as plt 
from cycler import cycler 
plt.style.use([ 
    'seaborn-paper', {'axes.prop_cycle': (
     cycler('color', ['k'])* 
     cycler('linewidth', [2,1])* 
     cycler('dashes', [[],[13,2],[8,3,1,3]]))}]) 

a = np.array((0.,5.)) 
plt.plot(a,a, linewidth=6) 
plt.plot(-a,a, dashes=[]) 

應該工作。

的第一個問題(所述LW混疊)被固定在2.x的,但即使使用破折號在循環現在打破:(

https://github.com/matplotlib/matplotlib/issues/7426