サブプロットとしての 3D プロット

PythonPythonBeginner
今すぐ練習

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

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

はじめに

データ分析では、データを視覚化するために 3D プロットを作成する必要があることがよくあります。Matplotlib では、異なる 3D データを比較するために、サブプロットとして 3D プロットを作成することができます。この実験では、Matplotlib を使用してサブプロットとして 3D プロットを作成する方法を示します。

VM のヒント

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

Jupyter Notebook の読み込みには数秒かかる場合があります。Jupyter Notebook の制限により、操作の検証は自動化できません。

学習中に問題がある場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。

ライブラリのインポート

始める前に、この実験で使用するライブラリをインポートする必要があります。Matplotlib、NumPy、および mpl_toolkits.mplot3d からの Axes3D を使用します。

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D

グラフとサブプロットの作成

2 つのサブプロット付きのグラフを作成します。最初のサブプロットは 3D サーフェスプロットで、2 番目のサブプロットは 3D ワイヤーフレームプロットになります。

## Create a figure with two subplots
fig = plt.figure(figsize=plt.figaspect(0.5))

## Add the first subplot with 3D projection
ax1 = fig.add_subplot(1, 2, 1, projection='3d')

## Add the second subplot with 3D projection
ax2 = fig.add_subplot(1, 2, 2, projection='3d')

3D サーフェスプロットの作成

最初のサブプロット用に 3D サーフェスプロットを作成します。このプロット用のデータを作成するために NumPy を使用します。

## Create data for the 3D surface plot
X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)

## Plot the 3D surface plot
surf = ax1.plot_surface(X, Y, Z, cmap='coolwarm', linewidth=0, antialiased=False)

## Add a color bar to the plot
fig.colorbar(surf, shrink=0.5, aspect=10)

## Set the limits for the z-axis
ax1.set_zlim(-1.01, 1.01)

3D ワイヤーフレームプロットの作成

2 番目のサブプロット用に 3D ワイヤーフレームプロットを作成します。このプロット用のデータを作成するために、mpl_toolkits.mplot3d.axes3d の get_test_data 関数を使用します。

## Create data for the 3D wireframe plot
X, Y, Z = Axes3D.get_test_data(0.05)

## Plot the 3D wireframe plot
ax2.plot_wireframe(X, Y, Z, rstride=10, cstride=10)

プロットの表示

plt.show() 関数を使用してプロットを表示します。

plt.show()

まとめ

この実験では、Matplotlib を使ってサブプロットとして 3D プロットを作成する方法を学びました。2 つのサブプロット付きのグラフを作成し、1 つ目は 3D サーフェスプロットで、2 つ目は 3D ワイヤーフレームプロットです。3D サーフェスプロット用のデータを作成するために NumPy を使用し、3D ワイヤーフレームプロット用のデータを作成するために mpl_toolkits.mplot3d.axes3d の get_test_data 関数を使用しました。また、3D サーフェスプロットにカラーバーを追加し、z 軸の範囲を設定しました。