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 件のコメント:
コメントを投稿