2016-10-27 10 views
1

エラーバーの縦線のcapstyleを 'round'に設定したいと思います。たとえば、次のコードは、エラーバーでいくつかのポイントを生成します法線についてはmatplotlibのエラーバーのcapstyleを変更してください

import matplotlib.pyplot as plt 

fig, ax = plt.subplots() 
plt.plot([1,2,3], [2,3,4], marker='o', linestyle='None') 
plt.errorbar([1,2,3], [2,3,4], yerr=[1,1,1], fmt=None, linewidth=3, capsize=0) 
plt.xlim([0,4]) 
plt.show() 

、私が使用してrcParamsキャップのスタイルを設定することができ、この:

plt.rcParams['lines.dash_capstyle'] = 'round' 

と私はまた、どのようにいくつかの素晴らしい例を見つけましたダニのための円形のキャップスタイルを得る:

for i in ax.xaxis.get_ticklines(): i._marker._capstyle = 'round' 

しかし、私はエラーバーのための同様の方法を見つけることができません。

答えて

1
plotline, cap, barlinecols =\ 
     plt.errorbar([1,2,3], [2,3,4], yerr=[1,1,1], fmt=None, linewidth=3, capsize=0) 

plt.errorbarは3つのオブジェクトを返します。 plotlinecapはあなたが行うことができますLine2Dオブジェクト、以下のとおりです。

plotline.set_capstyle('round') 
cap.set_capstyle('round') 

barlinecolsLineCollectionオブジェクトです。しかし、現在のバージョン(matplotlib 2.0)では、オブジェクトのcapstyleの変更はサポートされていません(https://github.com/matplotlib/matplotlib/issues/8277参照)。しかし、これは次のバージョンで実装されるように見えます。

関連する問題