【问题标题】:Create a 3D surface plot in Plotly在 Plotly 中创建 3D 曲面图
【发布时间】:2021-12-06 01:47:59
【问题描述】:

我想通过从外部文件读取数据在 Plotly 中创建 3D 曲面图。以下是我正在使用的代码:

    import numpy as np
    import plotly.graph_objects as go 
    import plotly.express as px
    
    
    data = np.genfromtxt('values.dat', dtype=float)
    
    # The shape of X, Y and Z is (10,1)
    X = data[:,0:1] 
    Y = data[:,1:2]
    Z = data[:,2:3]
    
    fig = go.Surface(x=X, y=Y, z=Z, name='Surface plot', colorscale=px.colors.sequential.Plotly3)
    plot(fig)

上面的代码不会产生任何表面图。创建曲面图需要进行哪些更改?

【问题讨论】:

    标签: python plot plotly


    【解决方案1】:

    来自情节图参考:

    描述表面坐标的数据设置在z中。 z 中的数据应该是一个二维列表。 xy 中的坐标可以是一维列表或{2D 数组}

    我有一个示例数据集。它包含三列 (x,y,z)。

    import plotly.graph_objects as go
    import pandas as pd
    import numpy as np
    from scipy.interpolate import griddata
    
    
    df = pd.read_csv('./test_data.csv')
    
    x = np.array(df.lon)
    y = np.array(df.lat)
    z = np.array(df.value)
    
    
    xi = np.linspace(x.min(), x.max(), 100)
    yi = np.linspace(y.min(), y.max(), 100)
    
    X,Y = np.meshgrid(xi,yi)
    
    Z = griddata((x,y),z,(X,Y), method='cubic')
    
    
    
    fig = go.Figure(go.Surface(x=xi,y=yi,z=Z))
    fig.show()
    

    参考页面:https://plotly.com/python/reference/surface/

    【讨论】:

      猜你喜欢
      • 2018-05-06
      • 2017-02-08
      • 1970-01-01
      • 2017-10-31
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 2021-09-07
      • 2021-05-02
      相关资源
      最近更新 更多