#python #plotly
#python #plotly
Вопрос:
import plotly.plotly as py
import plotly.graph_objs as go
from plotly.offline import init_notebook_mode, iplot
init_notebook_mode(connected=True)
import numpy as np
x, y, z = np.random.multivariate_normal(np.array([0,0,0]), np.eye(3), 200).transpose()
trace1 = go.Scatter3d(
x=x,
y=y,
z=z,
mode='markers',
marker=dict(
size=12,
line=dict(
color='rgba(217, 217, 217, 0.14)',
width=0.5
),
opacity=0.8
)
)
data = [trace1]
layout = go.Layout(
margin=dict(
l=0,
r=0,
b=0,
t=0
),
xaxis=dict(type='log',
autorange=True,
title="L1")
)
fig = go.Figure(data=data, layout=layout)
iplot(fig, filename='simple-3d-scatter')
Это пример из документов,https://plot.ly/python/3d-scatter-plots / который я слегка изменил на
Однако Plotly, похоже, (молча) игнорирует мои настройки оси, поскольку я получаю это и не получаю никаких ошибок / предупреждений:
как вы могли заметить, это не логарифмический масштаб и не L1
метка оси, которую я хочу, чтобы она имела.
Как мне это исправить? Python 3.6.8, версия Plotly 3.6.1, построение графика в Jupyter notebook (автономный режим).
Попытка с plotly 3.3 в virtualenv:
Комментарии:
1. Попробуйте создать virtualenv в Plotly с версией 2.7 или 3.3. ( plot.ly/python/getting-started ). Plotly с использованием virtualenv
2. @RajMehta Нет, не работает с plotly3.3
Ответ №1:
Укажите атрибуты оси в scene
dict следующим образом:
layout = go.Layout(
margin=dict(
l=0,
r=0,
b=0,
t=0
),
scene=dict(
xaxis=dict(
type='log',
autorange=True,
title='L1')
)
)
Комментарии:
1. спасибо, что работает. не совсем уверен, что об этом не упоминается в документах, или я просто слеп.