Matplotlib による 3 次元ヒストグラム

PythonPythonBeginner
今すぐ練習

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、PythonのMatplotlibを使って2次元データの3次元ヒストグラムを作成する方法を学びます。ヒストグラムは、値の範囲をビンにグループ化したデータのグラフィカルな表現であり、3次元ヒストグラムは、可視化に3次元目を追加することでこの概念を拡張します。

VMのヒント

VMの起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebookを使って練習しましょう。

時々、Jupyter Notebookが読み込み終了するまで数秒待つ必要がある場合があります。Jupyter Notebookの制限により、操作の検証を自動化することはできません。

学習中に問題に遭遇した場合は、Labbyにお問い合わせください。セッション後にフィードバックを提供してください。そうすれば、迅速に問題を解決します。

ライブラリのインポート

3次元ヒストグラムを作成する前に、必要なライブラリをインポートする必要があります。この場合、NumPyとMatplotlibを使用します。

import matplotlib.pyplot as plt
import numpy as np

データの生成

次に、ヒストグラムに使用するためのランダムな2次元データを生成します。xとyの両方の変数について、NumPyの random.rand() 関数を使用して100個のランダムな値を生成します。

## Fixing random state for reproducibility
np.random.seed(19680801)

x, y = np.random.rand(2, 100) * 4

ヒストグラムの作成

データが用意できたので、3次元ヒストグラムを作成できます。NumPyの histogram2d() 関数を使ってデータの2次元ヒストグラムを作成し、その後Matplotlibの bar3d() 関数を使ってヒストグラムの3次元棒グラフを作成します。

hist, xedges, yedges = np.histogram2d(x, y, bins=4, range=[[0, 4], [0, 4]])

## Construct arrays for the anchor positions of the 16 bars.
xpos, ypos = np.meshgrid(xedges[:-1] + 0.25, yedges[:-1] + 0.25, indexing="ij")
xpos = xpos.ravel()
ypos = ypos.ravel()
zpos = 0

## Construct arrays with the dimensions for the 16 bars.
dx = dy = 0.5 * np.ones_like(zpos)
dz = hist.ravel()

ax.bar3d(xpos, ypos, zpos, dx, dy, dz, zsort='average')

ヒストグラムの表示

最後に、Matplotlibの show() 関数を使ってヒストグラムを表示できます。

plt.show()

まとめ

この実験では、PythonのMatplotlibを使って2次元データの3次元ヒストグラムを作成する方法を学びました。また、ランダムなデータを生成し、2次元ヒストグラムを作成し、そのヒストグラムの3次元棒グラフを作成する方法も学びました。これらの手順に従えば、独自のデータを視覚化するための3次元ヒストグラムを作成できます。