繁体   English   中英

如何在 Python 中使用 Plotly plot 3D 曲面图?

[英]How to plot 3D surface plots using Plotly in Python?

我可以通过以下代码使用matplotlib获得 Surface Plot:

ax = figure.gca(projection = "3d")
ax.plot_surface(meshed_slopes, meshed_intercepts, errors.reshape(1, meshed_slopes.shape[0]), cmap = cm.autumn_r)

使用 MatplotLib 绘制曲面图

但是当我尝试使用Plotly做同样的事情时,我得到一个空白图表。

这是用于 plot 曲面图的代码-

import plotly.graph_objects as go 
import numpy as np

meshed_slopes, meshed_intercepts = np.meshgrid(slopes, intercepts)

fig = go.Figure(go.Surface(
    x = meshed_slopes,
    y = meshed_intercepts,
    z = errors.reshape(1, meshed_slopes.shape[0])
    ))

fig.show()

用 Plotly 作图

我怎样才能解决这个问题?

提前致谢!!!

由于您尚未提供数据,因此我们可以看一下我将解释 plotly 需要什么才能使 plot 工作:

  • x 和 y 需要都是 (n,) 形状和相同的形状
  • z 应该是矩阵或具有 (n,n) 大小的表

我建议使用 dataframe,因为它可能更容易创建所有内容

(因为我的人气低,所以我不能写评论所以我把它贴出来作为回答)

确保x, y, z是 2D arrays。

import plotly.graph_objects as go
import numpy as np

x, y = np.mgrid[-2:2:50j, -2:2:50j]
z = np.cos(x**2 + y**2)
fig = go.Figure([
    go.Surface(x=x, y=y, z=z)
])
fig

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM