##contourfで等高線を描写
import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D x = np.linspace(0, 10, 5) #等間隔でデータを0から10まで5個作成 y = np.linspace(0, 10, 5) #等間隔でデータを0から10まで5個作成 xx, yy = np.meshgrid(x, y) #xとyからメッシュグリッドを作成 def fz(x, y): #高さデータzを作る関数fzを定義 return x**2+y**2 z = fz(xx, yy) def plot1(): fig = plt.figure() ax = Axes3D(fig) ax.contour(xx, yy, z) plt.show() def plot2(): fig = plt.figure() ax = Axes3D(fig) ax.contour(x, y, z) plt.show() このplot1とplot2を実行するとcontourfの引数が(x,y,z)と(xx,yy,z)で異なるのに同じ結果が表示されます・
###plot_wireframeで三次元曲面を描写
def plot3(): fig = plt.figure() ax = Axes3D(fig) ax.plot_wireframe(x, y, z) plt.show() def plot4(): fig = plt.figure() ax = Axes3D(fig) ax.plot_wireframe(xx, yy, z) plt.show() 一方こちらのplot3とplot4を実行するとplot_wireframeの引数が(x,y,z)と(xx,yy,z)で異なる三次元曲面が描写されます。 print(x) [ 0. 2.5 5. 7.5 10. ] print(xx) [[ 0. 2.5 5. 7.5 10. ] [ 0. 2.5 5. 7.5 10. ] [ 0. 2.5 5. 7.5 10. ] [ 0. 2.5 5. 7.5 10. ] [ 0. 2.5 5. 7.5 10. ]] この様にxとxxは異なる配列を持っているのはわかりますが、この配列の違いがどう影響するのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。