Plotly中具有3D表面的正交轴

时间:2018-09-07 15:13:31

标签: python plotly

我没有成功将scaleanchor用于Plotly中的Surface图:

x = np.linspace(0,9,100)
y = np.linspace(0,3,100)

mx, my = np.meshgrid(x,y)
mz = np.sin(my) * np.cos(mx)

trace = go.Surface(x=mx, y=my, z=mz)
layout = go.Layout( 
    yaxis={'scaleanchor':'x'},
    # zaxis={'scaleanchor':'x'},
)
py.iplot([trace], layout)

enter image description here 两个问题:

    布局中不允许
  • zaxis
  • yaxis={'scaleanchor':'x'}无效,从顶部开始的立方体不是正方形。这是我想要的结果(1在x和y中具有相同的长度):

enter image description here

完成

import matplotlib.pylab as plt
plt.axes().set_aspect('equal', 'datalim')
plt.contour(mx, my, mz)

有什么想法如何使用Plotly在3D图形中将多维数据集视为多维数据集和任何形状?

奥利维尔。

1 个答案:

答案 0 :(得分:0)

这是诀窍:

layout = go.Layout( 
    scene = {'aspectmode':'data'},
)

trace = go.Surface(x=mx, y=my, z=mz)
fig = go.Figure(data=[trace], layout=layout)
py.iplot(fig)

结果如下:

enter image description here