Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのmatplotlibで積み上げ棒グラフを作成・表示する方法

Matplotlibは、Pythonで最も広く使われているデータ可視化ライブラリの一つです。データの可視化は、数値を一つずつ確認したり複雑な計算を行ったりすることなく、データ全体の傾向や特徴を直感的に把握するために欠かせないステップです。また、定量的な洞察を効果的に伝える手段としても非常に有用です。

Matplotlibは、データをもとに2次元のグラフやプロットを作成するために使用されます。オブジェクト指向のAPIを備えており、作成したグラフをPythonアプリケーションに組み込むことも可能です。IPythonシェル、Jupyter Notebook、Spyder IDEなど、さまざまな環境で利用できます。

Matplotlib自体はPythonで書かれており、数値計算用パッケージであるNumPyを基盤として構築されています。

Matplotlibのインストール方法

Windows環境では、以下のコマンドを実行するだけでMatplotlibをインストールできます。

pip install matplotlib

Matplotlibの主な依存パッケージは以下のとおりです。

Python(バージョン3.4以上)
NumPy
Setuptools
Pyparsing
Libpng
Pytz
FreeType
Six
Cycler
Dateutil

積み上げ棒グラフとは

積み上げ棒グラフ(Stacked Bar Plot)は、複数のデータ系列を1本の棒の中に重ねて表現するグラフです。各カテゴリの合計値と、その内訳を同時に確認できるため、構成比の比較に適しています。

それでは、Matplotlibを使って積み上げ棒グラフを作成する具体的な方法を見ていきましょう。

サンプルコード

import matplotlib.pyplot as plt
labels = ['A1', 'A2', 'A3', 'A4']
val_1 = [34, 56, 78, 91]
val_2 = [20, 56, 32, 89]
val_3 = [1, 3, 5, 3]
val_4 = [3, 5, 3, 4]
width = 0.40

fig, ax = plt.subplots()

ax.bar(labels, val_1, width, yerr=val_3, label='Label_1')
ax.bar(labels, val_2, width, yerr=val_4, bottom=val_1,
label='Label_2')

ax.set_ylabel('Y-axis')
ax.set_title('X-axis')
ax.legend()
plt.show()

実行結果

このコードを実行すると、2つのデータ系列が積み上げられた棒グラフが表示され、各棒には誤差範囲も示されます。

コードの解説

  • 必要なパッケージをインポートし、使いやすいようにエイリアスを定義します。

  • 積み上げグラフのラベル(カテゴリ名)と、それぞれの棒に対応する値を定義します。

  • 「subplots」関数を使用して、図(figure)とプロット領域(axes)を作成します。

  • 「bar」関数で棒グラフを描画します。2つ目の系列では「bottom」引数に最初の系列の値を指定することで、積み上げを実現しています。

  • 「yerr」引数を指定すると、各棒に誤差範囲(エラーバー)を表示できます。

  • 「set_xlabel」「set_ylabel」「set_title」関数を使って、X軸・Y軸のラベルおよびタイトルを設定します。

  • 「legend」関数で凡例を追加し、各系列を識別できるようにします。

  • 最後に「show」関数を呼び出すことで、グラフが画面に表示されます。

ポイントは、「bottom」引数です。2つ目以降の「bar」関数呼び出しで「bottom=前の系列の値」を指定すると、その値を起点として棒が描画されるため、結果的にデータが積み上げられた形になります。3つ以上の系列を積み上げる場合は、それまでの系列の合計値を「bottom」に渡せばOKです。

  1. Pythonのcv2(OpenCV)で画像を表示する方法をわかりやすく解説

    PythonのOpenCV(cv2)を使えば、数行のコードで画像ファイルを読み込み、画面に表示することができます。ここでは、画像を読み込んで表示するための基本的な手順と、各関数の役割について解説します。 画像を表示するための基本手順 cv2で画像を読み込み・表示するには、主に以下のステップを実行します。 cv2.imread():ファイルから画像を読み込みます。 cv2.imshow():指定した名前のウィンドウに画像を表示します。 cv2.waitKey():キーが押されるまでプログラムを待機させます。 cv2.destroyAllWindows():開いているすべてのHighGUIウィン

  2. PythonのMatplotlibで円グラフを作成・表示する方法【初心者向け解説】

    Matplotlibは、データ可視化のために広く利用されている人気のPythonライブラリです。データの可視化は分析において非常に重要なステップであり、複雑な数値計算の結果を目で見て理解しやすくしてくれます。数値を一つひとつ確認しなくても、データ全体の傾向や構成を直感的に把握できるため、定量的な洞察を効果的に伝える手段として活用されています。Matplotlibは主に2次元のグラフやプロットを作成するために使用され、オブジェクト指向のAPIを備えているため、Pythonアプリケーションへの組み込みも容易です。IPythonシェル、Jupyter Notebook、Spyderなどの開発環境と組