Matplotlib を使った 3D コントアープロット作成

Beginner

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

はじめに

このチュートリアルでは、Python の Matplotlib を使って 3D コントアープロットを作成するプロセスを案内します。コントアープロットは、等高線またはレベルカーブを使って 3D 表面を表します。これらのレベルカーブを作成するために contour() 関数を使い、曲線を垂直方向に「リボン」に拡張するために extend3d=True オプションを使います。

VM のヒント

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

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

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

ライブラリのインポート

このチュートリアルで必要なライブラリをインポートする必要があります。グラフ描画には matplotlib.pyplot を、カラーマップには matplotlib.cm を、3D グラフ描画には mpl_toolkits.mplot3d を使用します。

import matplotlib.pyplot as plt
from matplotlib import cm
from mpl_toolkits.mplot3d import axes3d

データの作成

次に、コントアープロットを生成するために使用するデータを作成する必要があります。mpl_toolkits.mplot3d モジュールの get_test_data() 関数を使用してサンプルデータを生成します。

X, Y, Z = axes3d.get_test_data(0.05)

3D 軸の作成

グラフ用の 3D サブプロットを作成するために add_subplot() 関数を使用します。また、投影を '3d' に設定します。

ax = plt.figure().add_subplot(projection='3d')

コントアープロットの作成

次に、contour() 関数を使ってコントアープロットを作成します。XYZ のデータを渡し、曲線を垂直方向に「リボン」に拡張するために extend3d=True を設定します。また、色付けを美しくするためにカラーマップを cm.coolwarm に設定します。

ax.contour(X, Y, Z, extend3d=True, cmap=cm.coolwarm)

グラフの表示

最後に、show() 関数を使ってグラフを表示します。

plt.show()

まとめ

このチュートリアルでは、Python の Matplotlib を使って 3D コントアープロットを作成する方法を学びました。レベル曲線を作成するために contour() 関数を使用し、曲線を垂直方向に「リボン」に拡張するために extend3d=True オプションを使用しました。また、サンプルデータを生成するために get_test_data() 関数を使用し、色付けを美しくするために cm.coolwarm カラーマップを使用しました。