Plotly Express中的Scatter 3d - Colab Notebook没有用等轴绘制。

问题描述 投票:0回答:1

试图绘制一个非常简单的三维散点图,x,y,z轴的长度都相等。但它不能工作。

代码:'''

from mpl_toolkits import mplot3d
import pandas
from pandas import DataFrame

pt_num = 100
x = np.random.uniform(-10,10,size=(pt_num,2))
model = np.array([2,2]).reshape(-1,1)
y = np.dot(x,model)
data = np.hstack((x,y))
dats = {'x':data[:,0].squeeze(),'w':data[:,1].squeeze(),'y':data[:,2].squeeze()}
df = DataFrame(data=dats)

import plotly.express as px
fig = px.scatter_3d(df, x='x', y='w', z='y',width=1200, height=1200)
fig.update_layout(scene=dict(xaxis=dict(range=[-10,10]),yaxis=dict(range=[-10,10]),zaxis=dict(range=[-10,10])))
fig['layout'].update(width=1500, height=1500, autosize=False)
fig.show()

'''

Resulting plot

谢谢你的帮助。

python plot plotly jupyter google-colaboratory
1个回答
1
投票

出于挫折感,问得太快了。答案是将'aspectmode="cube"'添加到 fig.update_layout 的场景 dict 中。

fig.update_layout(scene=dict(xaxis=dict(range=view_range),yaxis=dict(range=view_range),zaxis=dict(range=view_range),aspectmode="cube"))
© www.soinside.com 2019 - 2024. All rights reserved.