MatplotlibでPythonの3Dヒストグラムを描画する方法を徹底解説
Pythonで3Dヒストグラム(3D棒グラフ)を描画するには、Matplotlibの bar3d() メソッドを利用するのが便利です。ここでは、基本的な手順とサンプルコードをわかりやすく解説します。
3Dヒストグラムを描画する手順
図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
figure() メソッドを使って、新しい図を作成するか、既存の図をアクティブにします。
add_subplot() メソッドで、現在の図にサブプロットとして軸(Axes)を追加します。このとき
projection='3d'を指定することで3Dプロットが可能になります。NumPyを使って、x3・y3・z3 のデータポイントを作成します。
同様に、バーの幅・奥行き・高さに相当する dx、dy、dz のデータポイントもNumPyで作成します。
bar3d() メソッドを使って、3Dの棒グラフをプロットします。
軸を非表示にしたい場合は、axis('off') を呼び出します。
最後に show() メソッドを実行して、図を画面に表示します。
サンプルコード
import numpy as np
from matplotlib import pyplot as plt
# 図のサイズとレイアウトの自動調整を設定
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
fig = plt.figure()
# 3D投影のサブプロットを追加
ax1 = fig.add_subplot(111, projection='3d')
# データポイントの作成
x3 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y3 = [5, 6, 7, 8, 2, 5, 6, 3, 7, 2]
z3 = np.zeros(10)
dx = np.ones(10)
dy = np.ones(10)
dz = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 3D棒グラフを描画
ax1.bar3d(y3, x3, z3, dx, dy, dz, color="red")
ax1.axis('off')
plt.show()
実行結果
上記のコードを実行すると、赤い3Dの棒グラフが表示されます。各バーは x・y 平面上に配置され、z 軸方向に高さを持つ立体として描画されます。

ポイントのまとめ
projection='3d'を指定しないと、3Dプロット用の軸が作成されないため注意が必要です。bar3d() の引数は順に「x座標、y座標、z座標(底部)、x方向の幅、y方向の幅、z方向の高さ」となります。
color引数を変更すれば、バーの色を自由にカスタマイズできます。データ分析や可視化において、3次元データの分布を直感的に把握したい場合に非常に有効な手法です。
-
PythonとMatplotlibで複数のプロットを1つの図に描画する方法
Matplotlibは、データ可視化のために広く利用されている人気のPythonパッケージです。データの可視化は非常に重要なステップです。生の数値を目で追ったり複雑な計算を実行したりしなくても、データの中で何が起きているのかを直感的に把握できるようになるからです。また、定量的な洞察を聴衆に対して効果的に伝える手段としても役立ちます。Matplotlibは、データをもとに2次元のプロットを作成するために使われます。オブジェクト指向のAPIを備えており、Pythonアプリケーションへプロットを簡単に組み込むことができます。IPythonシェル、Jupyter Notebook、Spyderなどの開
-
PythonのMatplotlibでヒストグラムを作成する方法をわかりやすく解説
Matplotlibは、データ可視化のために広く使われている人気のPythonライブラリです。データの可視化は非常に重要なステップです。数値を一つずつ確認したり複雑な計算を行ったりしなくても、データ全体の傾向や特徴を直感的に把握できるようになるからです。また、定量的な洞察を効果的に伝える手段としても優れています。MatplotlibとはMatplotlibは、データをもとに2次元のプロット(グラフ)を作成するためのライブラリです。オブジェクト指向のAPIを備えており、作成したグラフをPythonアプリケーションに組み込むことも簡単に行えます。IPythonシェル、Jupyter Noteboo