Pythonのmatplotlibライブラリを使えば、複数のデータを視覚化する棒グラフを簡単に作成できます。
複数の系列を1つのグラフに表示することで、データの比較が視覚的にわかりやすくなります。
この記事では、Pythonで複数の棒グラフを作成するための基本的な方法から応用的な例までを解説します。
特に、データのラベル付けや色のカスタマイズ、legend(凡例)の設定方法など、グラフをより見やすくするための技術を紹介します。
- 未経験者向けプログラミングスクール
- 現役エンジニアがしっかりサポート
- 卒業後も安心の転職・副業サポート
Pythonでの複数の棒グラフ作成に必要な準備

Pythonで複数の棒グラフを描く際には、主にmatplotlibとnumpyライブラリを使用します。
これらのライブラリを使うことで、データの処理やグラフの描画が非常に簡単になります。
まずは、これらのライブラリをインストールし、基本的なグラフ作成に必要な準備を進めましょう。
必要なライブラリのインストール
Pythonでグラフを作成するためには、matplotlibとnumpyが必要です。
これらのライブラリは、以下のコマンドでインストールすることができます。
pip install matplotlib numpy
基本的なデータの準備
次に、複数の棒グラフを描くためのデータを準備します。
例えば、次のような2つのカテゴリのデータを使って、比較を行うことができます。
import numpy as np
import matplotlib.pyplot as plt
# データの準備
categories = ['A', 'B', 'C', 'D']
data1 = [4, 7, 1, 8]
data2 = [6, 2, 5, 9]
基本的な棒グラフの作成
準備したデータを使って、棒グラフを描画します。
次のコードは、2つの系列の棒グラフを1つのグラフに重ねて描画する例です。
x = np.arange(len(categories)) # X軸の位置
width = 0.35 # 各バーの幅
fig, ax = plt.subplots()
rects1 = ax.bar(x - width/2, data1, width, label='Data 1')
rects2 = ax.bar(x + width/2, data2, width, label='Data 2')
# ラベルとタイトル
ax.set_ylabel('Scores')
ax.set_title('Scores by category')
ax.set_xticks(x)
ax.set_xticklabels(categories)
ax.legend()
plt.show()
- 現役エンジニアからスキルを学べる
- 満足度は驚異の97.4%
- 300社以上のIT企業で研修に導入
- 毎日9時〜21時まで、無料カウンセリングを開催中!
複数の棒グラフをカスタマイズする方法

Pythonのmatplotlibを使えば、複数の棒グラフを作成するだけでなく、さまざまなカスタマイズが可能です。
ここでは、色やラベル、凡例などのカスタマイズ方法を紹介します。
これらのカスタマイズを行うことで、グラフの見た目をより洗練されたものにできます。
グラフの色の変更
matplotlibでは、各バーの色を指定することができます。
以下の例では、デフォルトの色を変更して、データ1とデータ2に異なる色を適用しています。
rects1 = ax.bar(x - width/2, data1, width, label='Data 1', color='skyblue')
rects2 = ax.bar(x + width/2, data2, width, label='Data 2', color='orange')
凡例の設定
複数のデータを扱う場合、凡例を追加することで、グラフの理解が容易になります。
凡例を設定するには、ax.legend()を使用します。
ax.legend(loc='upper right')
ラベルの追加
棒グラフにデータラベルを追加することで、各データの具体的な数値を視覚的に表示することができます。
for rect in rects1:
height = rect.get_height()
ax.annotate('{}'.format(height),
xy=(rect.get_x() + rect.get_width() / 2, height),
xytext=(0, 3), # ラベルを少し上に配置
textcoords="offset points",
ha='center', va='bottom')
matplotlibの応用例:3D棒グラフの作成

matplotlibを使って、3D棒グラフを作成することも可能です。
これは、データをよりインタラクティブに表示するための一つの手法です。
以下のコードは、Pythonを使って3D棒グラフを作成する例です。
3D棒グラフの描画
3Dグラフを作成するためには、まずmpl_toolkits.mplot3dをインポートし、3Dプロットの準備を行います。
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
x = [1, 2, 3, 4]
y = [2, 3, 4, 5]
z = np.zeros(4)
dx = np.ones(4)
dy = np.ones(4)
dz = [1, 2, 3, 4]
ax.bar3d(x, y, z, dx, dy, dz)
plt.show()
3Dグラフのカスタマイズ
2Dの棒グラフと同様に、3Dグラフでも色やラベル、軸のカスタマイズが可能です。
たとえば、次のコードでは色とラベルをカスタマイズしています。
<
code>ax.bar3d(x, y, z, dx, dy, dz, color='lightblue')
ax.set_xlabel('X Axis')
ax.set_ylabel('Y Axis')
ax.set_zlabel('Z Axis')
プログラミングスクール受講時には教育訓練給付制度を利用することで、受講料の最大80%の給付を受けることが可能です。
Pythonで棒グラフを作成するためのおすすめライブラリ

Pythonには、棒グラフを作成するための便利なライブラリが多数存在します。
ここでは、matplotlib以外のおすすめライブラリと、それらの特徴について紹介します。
用途に応じて、これらのライブラリを使い分けると良いでしょう。
seaborn
seabornは、matplotlibをベースにした高レベルの視覚化ライブラリです。
カスタマイズ性が高く、デフォルトで見やすいグラフが作成できるため、多くのユーザーに支持されています。
plotly
plotlyは、インタラクティブなグラフ作成が可能なライブラリです。
Webベースのインタラクティブグラフを作成したい場合に特に有用です。
Altair
Altairは、宣言型の視覚化ライブラリで、コードが非常にシンプルです。
データの視覚化を簡潔なコードで実現したい場合におすすめです。
まとめ:Pythonで複数の棒グラフを効率よく作成する方法

Pythonで複数の棒グラフを作成する方法について、基本から応用までを解説しました。
matplotlibやnumpyを活用することで、データの視覚化が効率的に行えます。
また、カスタマイズの自由度も高いため、用途に応じた最適なグラフを作成することが可能です。
これからもPythonを活用して、データの分析や可視化を行い、より効果的な意思決定をサポートしましょう。



コメント