エラーバーを使用してMatplotlibで積み上げ棒グラフを生成しています。残念ながら、一部の層は比較的小さく、データが多様であるため、複数の層のエラーバーが重複して、読み取りが困難または不可能になる可能性があります。
例:
各エラーバーの位置を設定する(つまり、x軸に沿って移動する)方法はありますか?それにより、重なり合う線が互いの上ではなく隣に表示されますか?
エラーバーを使用してMatplotlibで積み上げ棒グラフを生成しています。残念ながら、一部の層は比較的小さく、データが多様であるため、複数の層のエラーバーが重複して、読み取りが困難または不可能になる可能性があります。
例:
各エラーバーの位置を設定する(つまり、x軸に沿って移動する)方法はありますか?それにより、重なり合う線が互いの上ではなく隣に表示されますか?
tcaswellのコメントのおかげで、私はそれを理解しました。トリックは、バーにエラーバーを含めずに(yerr kwordを介して)、バーとエラーバーを別々にプロットすることです。このようにして、エラーバーのxとyの位置を指定できます。
また、を使用してエラーバーを上向きにプロットすることも明確になりますyerr= numpy.vstack([[0]*len(std), std])
。
ここからプロット関数に組み込まれる私のコードは次のようになります。
for j in range(set_count):
tmp_accum = numpy.zeros(len(props[0]))
for k in range(len(props)):
ax1.bar(ind + j*b_width, props[k][set_label==j], width=b_width, color=color_sets[j][k], bottom=tmp_accum[set_label==j],label=labels[k])
ax1.errorbar(ind + j*b_width +(1+k)*0.01, props[k][set_label==j]+tmp_accum[set_label==j],yerr= numpy.vstack([[0]*1, std_devs[k][j]]), ecolor="black",elinewidth =3)
tmp_accum += props[k]