Scatter 3d в Plotly Express - Colab Notebook не строит графики с одинаковыми осями - PullRequest
0 голосов
/ 22 апреля 2020

Попытка построить очень простую трехмерную диаграмму рассеяния с осями 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

Спасибо Вам за любую помощь.

1 Ответ

1 голос
/ 22 апреля 2020

Спросили слишком рано из-за разочарования. Ответ заключается в том, чтобы добавить 'aspectmode = "cube" "к сценарию для fig.update_layout:

fig.update_layout(scene=dict(xaxis=dict(range=view_range),yaxis=dict(range=view_range),zaxis=dict(range=view_range),aspectmode="cube"))
...