はじめに
この実験では、Python の Matplotlib ライブラリを使ってチェッカーボード模様の 3D サーフェスプロットを作成する方法を学びます。3D サーフェスプロットを作成し、サーフェスの色をカスタマイズし、z 軸の範囲を調整します。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み終了するまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題があった場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
必要なライブラリをインポートする
このステップでは、必要なライブラリをインポートします。それには、matplotlib.pyplot、numpy、およびmatplotlib.tickerからのLinearLocatorが含まれます。
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.ticker import LinearLocator
サーフェスプロット用のデータを作成する
このステップでは、サーフェスプロット用のデータを作成します。X と Y の値のメッシュグリッドを作成し、半径距離 R を計算し、np.sin()を使って R の値に基づいて Z の値を計算します。
## Create data for the surface plot
X = np.arange(-5, 5, 0.25)
xlen = len(X)
Y = np.arange(-5, 5, 0.25)
ylen = len(Y)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)
サーフェスプロット用の色を作成する
このステップでは、サーフェスプロット用の色を作成します。メッシュグリッドと同じ形状の空の文字列配列を作成し、チェッカーボード模様で 2 つの色で埋めます。
## Create colors for the surface plot
colortuple = ('y', 'b')
colors = np.empty(X.shape, dtype=str)
for y in range(ylen):
for x in range(xlen):
colors[y, x] = colortuple[(x + y) % len(colortuple)]
サーフェスプロットを作成する
このステップでは、作成した配列からの面の色を使ってサーフェスプロットを作成します。また、z 軸をカスタマイズします。
## Create the surface plot
fig = plt.figure()
ax = fig.gca(projection='3d')
surf = ax.plot_surface(X, Y, Z, facecolors=colors, linewidth=0)
## Customize the z axis
ax.set_zlim(-1, 1)
ax.zaxis.set_major_locator(LinearLocator(6))
## Show the plot
plt.show()
まとめ
この実験では、Python の Matplotlib ライブラリを使ってチェッカーボード模様の 3D サーフェスプロットを作成する方法を学びました。サーフェスプロット用のデータを作成する方法、サーフェスプロット用の色を作成する方法、サーフェスプロットを作成する方法、および z 軸をカスタマイズする方法を学びました。この知識は、さまざまなアプリケーションに対してさまざまな種類の 3D サーフェスプロットを作成するために適用できます。