こんにちは!!ようこそ、当ブログgcbgardenへ。管理人のsakurabaaa(@sakurabaaa_g)です。
本記事では、Pythonのグラフ描画ライブラリ Matplotlibを使って棒グラフを出力する方法を紹介します。
もくじ
matplotlib.pyplot.bar について
matplotlib には、棒グラフの描画メソッドとして、 matplotlib.pyplot.bar
が用意されてます。
主なbarの引数。
left (必須) | 棒の X 軸上の数値 |
height (必須) | 棒の高さ |
width | 棒の太さ (デフォルト値:0.8) |
bottom | 1つの棒に複数のデータを積み上げる(主に積み上げ棒グラフを出力するために使う) |
color | 棒の色 |
edgecolor | 棒の枠線の色 |
linewidth | 棒の枠線の太さ |
tick_label | X 軸のラベル |
xerr | X 軸方向のエラーバー (誤差範囲) を出力する場合、数値または配列を指定 |
yerr | Y 軸方向のエラーバー (誤差範囲) を出力する場合、数値または配列を指定 |
ecolor | エラーバーの色を値または配列で指定。 |
capsize | エラーバーの傘のサイズを指定。 |
align | 棒の位置 ’edge’ (垂直方向の場合:左端, 水平方向の場合:下端) または ‘center’ (中央)を指定。 (デフォルト値: ‘edge’ ) |
log | True に設定すると、対数目盛で出力: (デフォルト値: False) |
基本的な棒グラフの出力例
◆環境
- Jupyter Notebook
- Python3
- NumPy
- matplotlib
棒グラフ基本形
ここでは2017年度のとある会社の売り上げの例を用いて棒グラフの使い方を紹介します。
<<出力結果>>
タイトルやラベルをつける
このままではなんのデータを表すグラフなのかわからないので、タイトルやラベルの設定をします。
<<出力結果>>
どんなデータを表すグラフなのかわかるようになりました。
色やサイズを変えてみる
次は棒グラフに装飾を加えてみます。棒グラフの色、枠線の色、太さを変更してみます。
<<出力結果>>
横軸を数値ではなくラベルに変更
横軸を連続した数値ではなくラベルに変更してみます。さらにグリッド線をグラフ上に加えました。
<<出力結果>>
軸がわかりやすくなり、かなり見やすくなりました。
対数目盛で棒グラフ
縦軸を対数目盛にしてみます。
<<出力結果>>
こんだけ売り上げがあったらな〜〜〜。笑
積み上げ棒グラフ
引数「bottom」パラメータを使用し、2つのデータを棒グラフに積み上げグラフを作成します。
横軸のパラメータは揃えています。
<<出力結果>>
上級編
さらに複雑なグラフを作ってみます。
わたしの雑記ブログの記事数とPV数の相関に使っているコードです。
2つの棒グラフを表示し、さらにその棒グラフの上に折れ線グラフを表示しています。
さらに縦軸は左側と右側で異なる次元で表現しています。
二次元のグラフ上に3次元でデータ表示を行なっています。
横に1軸、縦に2軸の棒グラフと折れ線グラフ
サンプルコードです。
<<出力結果>>
もう少し短くコード書けないかな〜と痛感。
だいぶ昔に書いてそのまま利用しています。管理コスト高めです。笑
まとめ
今回は棒グラフを出力する際のパラメータセットの紹介をしました。
棒グラフは横軸にある期間や対象となる2つ以上のデータを並べて、縦軸に数値的なパラメータでよく表現されます。
しっかりマスターしたいデータの可視化方法の一つです。
この記事を書いた人。
20代。とあるネットベンチャーでがんばる働き屋さん、ブロガー。
書きたいことを気ままに書いてます!
Python、プログラミング、米株、カメラ、野球観戦がすき。趣味は新宿散策。