在 matplotlib 中使用带有 x 和 y 的方程和 Python 的 3D 绘图
Posted
技术标签:
【中文标题】在 matplotlib 中使用带有 x 和 y 的方程和 Python 的 3D 绘图【英文标题】:3D plot in matplotlib using equation with x and y with Python 【发布时间】:2022-01-02 09:34:09 【问题描述】:我想从一个带有 x 和 y 的方程创建一个 3D 图,类似于 Google 的 3D 图。
一个例子:
输入:sin(sqrt(x**2 + y**2))
输出(3D 图):
Z 显然等于给定的输入,但是如何计算 x
和 y
?感谢您提供的任何帮助!
【问题讨论】:
【参考方案1】:您可以先为您的X
和Y
创建一个meshgrid
。然后通过执行Z=np.sin(np.sqrt(X**2 + Y**2))
计算您的Z
。最后,您可以使用matplotlib函数ax.plot_surface(X, Y, Z)
绘制曲面。
您可以在下面找到代码:
import numpy as np
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
N_points=100
x = np.linspace(-10, 10, N_points)
y = np.linspace(-10, 10, N_points)
X, Y = np.meshgrid(x, y)
Z=np.sin(np.sqrt(X**2 + Y**2))
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
ax.plot_surface(X, Y, Z)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.show()
这段代码的输出给出:
【讨论】:
以上是关于在 matplotlib 中使用带有 x 和 y 的方程和 Python 的 3D 绘图的主要内容,如果未能解决你的问题,请参考以下文章
使用带有字典的matplotlib在python中绘制散点图