【问题标题】:3D plot in matplotlib using equation with x and y with Python在 matplotlib 中使用带有 x 和 y 的方程和 Python 的 3D 绘图
【发布时间】:2022-01-02 09:34:09
【问题描述】:

我想从一个带有 x 和 y 的方程创建一个 3D 图,类似于 Google 的 3D 图。

一个例子:

输入:sin(sqrt(x**2 + y**2))

输出(3D 图):

Z 显然等于给定的输入,但是如何计算 xy?感谢您提供的任何帮助!

【问题讨论】:

    标签: python python-3.x matplotlib 3d


    【解决方案1】:

    您可以先为您的XY 创建一个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()
    

    这段代码的输出给出:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-15
      • 2023-02-05
      • 1970-01-01
      • 2021-10-07
      • 2014-05-21
      • 2012-02-15
      • 2018-04-22
      • 2018-11-23
      相关资源
      最近更新 更多