【问题标题】:Plotting 3D surface with matplotlib with 3 columns of data用 matplotlib 用 3 列数据绘制 3D 表面
【发布时间】:2021-04-06 14:39:32
【问题描述】:

我知道我们通常使用:

plot_surface(X, Y, Z)

其中XY 是一维数组,Z 是维度为 len(X) × len(Y) 的矩阵,用于绘制曲面。

但我现在只有三列一维数组作为数据。换句话说,我有类似的东西:

X=[1,2,3,4,5]
Y=[1,2,3,4,5]

Z=f(X,Y)=[1,2,3,4,5]

我没有f的表达式,但我还是想绘制一个曲面图。我该怎么做?

请随时要求我澄清我的问题。这是我第一次在平台上提问。

提前谢谢你!

【问题讨论】:

    标签: python pandas dataframe matplotlib surface


    【解决方案1】:

    这是你的意思吗?:

    import numpy as np
    import matplotlib.pyplot as plt
    
    x=[1,2,3,4,5]
    y=[1,2,3,4,5]
    z=np.array([[1],[2],[3],[4],[5]])
    ax = plt.axes(projection='3d')
    ax.plot_surface(x, y, z,cmap='viridis')
    
    plt.show()
    

    【讨论】:

    • 感谢您的回答。但是,当使用 pandas 读取我的 csv 数据时,ax.plot_surace(x, y, z, camp='viridis') 会发生错误。错误是“TypeError:输入类型不支持 ufunc 'isnan'”。你碰巧有解决这个问题的想法吗?
    • @YunhanSheng - 我找到了这样一个答案:datascience.stackexchange.com/questions/32981/… 和第二个:stackoverflow.com/questions/36000993/…
    • 谢谢ktp,这确实有效。现在我正在尝试读取和导入自己的数据,看看是否需要调整一些细节。谢谢!
    猜你喜欢
    • 2014-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多