【问题标题】:Plotly Plot surface 3D not displayedPlotly 绘制表面 3D 未显示
【发布时间】:2018-08-04 14:05:03
【问题描述】:

我真的在论坛上找不到答案。我想用 plotly 离线创建一个 3d 表面。我使用样本点。场景显示为空而没有表面。请帮忙,谢谢。

import pandas as pd
import numpy as np
from plotly.offline import download_plotlyjs, init_notebook_mode, plot
from plotly.graph_objs import *
init_notebook_mode()
df3=pd.DataFrame({'x':[1,2,3,4,5], 'y':[10,20,30,20,10], 'z':[5,4,3,2,1]})

trace0= Surface(x=df3['x'], y=df3['y'], z=df3['z'])
data=[trace0]
fig=dict(data=data)
plot(fig)

【问题讨论】:

    标签: python plotly surface


    【解决方案1】:

    问题是您还没有定义数据表面,因为您的 z 数据只是一维的。例如,这应该显示一个表面:

    import pandas as pd
    import numpy as np
    from plotly.offline import download_plotlyjs, init_notebook_mode, plot
    from plotly.graph_objs import *
    init_notebook_mode()
    
    df3=pd.DataFrame({
        'x':[1,2,3,4,5],
        'y':[10,20,30,20,10],
        'z':[[5,4,3,2,1]] * 5
    })
    
    trace0= Surface(x=df3['x'], y=df3['y'], z=df3['z'])
    data=[trace0]
    fig=dict(data=data)
    plot(fig)
    

    【讨论】:

    • 我不确定我是否遵循这一点......如果我特别关注二维高斯分布......我不应该为每个 x,y 设置一个 z 吗?跨度>
    • 是的。上面的z 就像一个二维矩阵。请注意,在 Python 中,如果 a = [[1, 2]],则 a * 2 将是 [[1, 2], [1, 2]]。所以这只是一个简单的例子来演示所需数据的形式。
    猜你喜欢
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 2023-02-10
    • 2021-05-02
    • 1970-01-01
    • 2020-05-15
    • 1970-01-01
    • 2020-04-22
    相关资源
    最近更新 更多