科学技術計算の 3D プロット(3次元描画,3次元グラフ)
Python3(3.10)で動くソースコード(.pyファイル .ipynbファイル)あります
「anaconda3」on .py「PyCharm」.ipynb「Jupyter Notebook」
課題 3D プロット(3次元描画,3次元グラフ) とするとき,関数 を3次元グラフで表示しなさい.
(2023-11-14)Python3.10で動作確認済み,図の出力のためコード追加「fig.add_axes(ax)」
この課題は,「VisualC++による理工学問題の解法 例題3.4 3次元表示」と同じものである.2つのグラフを見比べてほしい.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
# -*- coding: utf-8 -*- # 科学技術計算 # 3D plot import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D fig = plt.figure() ax = Axes3D(fig) fig.add_axes(ax) # 追加 X = np.arange(-2*np.pi, 2*np.pi, 0.25) Y = np.arange(-2*np.pi, 2*np.pi, 0.25) X, Y = np.meshgrid(X, Y) R = np.sqrt(X ** 2 + Y ** 2) Z = np.exp(-0.25 * R) * np.cos(2 * R) ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.cm.hot) ax.contourf(X, Y, Z, zdir='z', offset=-2, cmap=plt.cm.hot) ax.set_zlim(-2, 2) plt.show()