はじめに
matplotlibのplt.barで集合棒グラフを表示する方法について説明する。また、棒の上にデータを表示する方法についても説明する。
コード
解説
モジュールのインポート
データの生成
3種のデータを用いる。xは棒グラフの生える位置であり、widthは棒グラフの幅となる。
棒グラフの表示
棒グラフのxの位置をそれぞれのデータでx – width、x、x + widthとしてずらして表示することで集合棒グラフとする。
軸ラベルの設定と凡例の表示
set_ylabelでy軸のラベルを設定し、set_xticksでx軸の目盛りの位置を設定し、set_xticklabelsでラベルをセットする。
ax.legendで凡例を表示する。凡例の設定方法については下記で説明した。
[matplotlib] 8. 凡例
matplotlibでは、凡例をplt.legend()またはax.legend()で表示できる。ここでは、その設定方法について説明する。
カラーバーの表示と目盛りの設定
このコードにより、各棒の上端のすぐ上にテキストを表示する。各棒の高さは、get_heightで取得する。ax.bar()であるrects1は
であり、各棒それぞれの高さを取得するには、for文で展開する必要がある。
ax.annotateの'{}’.format(height)で高さデータがテキストで表示されるようになる。
xyは各棒の上端の座標であり、x座標と棒の幅はget_xとget_widthで取得できる。
xytext=(0, 1)とtextcoords=”offset points”により、xyの1ポイント上にテキストが表示される。
コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)参考
Grouped bar chart with labels — Matplotlib 3.1.2 documentation
コメント