Matplotlib は、Python と NumPy のためのプロットライブラリです。Tkinter、wxPython、Qt、GTK のような汎用 GUI ツールキットを使ったアプリケーションにプロットを埋め込むためのオブジェクト指向 API を提供しています。
Wikipedia より引用、翻訳
棒グラフは、縦軸にデータ量をとり、棒の高さでデータの大小を表したグラフです。Matplotlib を利用すると簡単に棒グラフを作成できます。
正負の値を棒グラフにするときがあります。そんなとき、正負を色分けしたくなります。毎回、どうやって色付けをするんだっけと調べ直してしまうので、備忘録にまとめました。
下記の OS 環境で動作確認をしています。
RHEL 9.4 | x86_64 | |
Python | 3.12.1 | |
jupyterlab | 4.2.1 | |
matplotlib | 3.9.0 |
ここでは、JupyterLab で棒グラフを作成します。
まず、ライブラリのインポートと、サンプルデータを定義します。
import numpy as np import matplotlib.pyplot as plt left = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) height = np.array([1.2, -1.1, -2.2, 0.7, 3.1, -2.3, -3.1, 2.3, 1.7, -2.6])
棒グラフをプロットするには次のようにします。
plt.bar(left, height) # plt.savefig('bar_001.png') plt.show()
次のような棒グラフが表示されます。棒グラフの表示方法はとても簡単ですが、少々もの足りません。
棒グラフで、正負の値別に色を変えることにします。あとグリッド線を表示するなど少々見やすくしています。
colors = ['C0' if h > 0 else 'C1' for h in height] plt.bar(left, height, color=colors) plt.axhline(y = 0, lw=0.75, color='black') plt.grid(axis='y') # plt.savefig('bar_002.png') plt.show()
次のように棒グラフが表示されます。
参考サイト
にほんブログ村
#オープンソース
0 件のコメント:
コメントを投稿