我希望能够通过数学函数绘制3D和轮廓图(具有选定的水平)。
例如,
phi = np.linspace(0,np.pi)
theta = np.linspace(0,np.pi)
D = np.sin(phi-theta)
其中D
是2D数组,其中phi
的每个值都有一个由所有thetas
组成的数组。然后绘制3D,轴为phi
,theta
和D
。还有一个等高线图,可以从任何值中选择级别(最多可以选择10个级别,例如,phi
可以更改为np.linspace(0,np.pi,10))
如何制作此类3D和轮廓图?
答案 0 :(得分:0)
要制作3d图,您需要使用str.replace(/[\r\n]+/g, '\\\n') %>';
和phi
变量创建一个网格:
theta
您可以从此处继续计算import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
phi = np.linspace(0, np.pi)
theta = np.linspace(0, np.pi)
Phi, Theta = np.meshgrid(phi, theta)
并进行绘图:
D
其中给出了以下曲面图:
等高线的工作量不大(尽管对于简单的正弦函数并不是特别有用):
D = np.sin(Phi - Theta)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(Phi, Theta, D)