Есть ли способ начать сюжет, уже увеличенный в определенной области, используя сюжет?
У меня есть точечная диаграмма, построенная на графике (в частности, в автономном режиме на графике с API-интерфейсом Python на ноутбуке Jupyter), и, как вы знаете, на графике пользователю легко масштабировать и кадрировать определенные области, но я бы хотел, чтобы график уже начался. сосредоточены на конкретной области по моему выбору.
Я не могу найти ничего уместного в документации (возможно, потому что я не знаю, где искать или какие термины искать). Есть ли способ сделать это, и если да, то как? И чем отличаются настройки при использовании подзаговоров, а не объекта Figure?
4 ответа
Когда вы указываете свой Layout
, под xaxis
а также yaxis
параметры, вы можете указать range
например,
import plotly.graph_objs as go
# ...
layout = go.Layout(
yaxis=dict(
range=[0, 100]
),
xaxis=dict(
range=[100, 200]
)
)
fig = go.Figure(data=data, layout=layout)
Документация для этого может быть найдена для xaxis
здесь и yaxis
здесь
Если ваша ось включает даты, убедитесь, что вы указали тип как дату, прежде чем устанавливать диапазон, иначе вы получите неожиданные результаты.
start_date = "2019-09-26"
start_date = "2019-10-18"
fig.update_xaxes(type="date", range=[start_date, end_date])
Если fig
состоит из подзаголовков с общими осями x (или осями y), вы можете установить указанный выше диапазон для строки и столбца, соответствующих последнему общему графику.
Ниже приводится подзаголовок с одним столбцом, каждый из которых представляет собой график в каждой строке, всего 7 строк.
last_row = 7
last_col = 1
fig.update_xaxes(type="date", range=[start, end], row=last_row, col=last_col)
Использоватьaspectratio=go.layout.scene.Aspectratio(x=2, y=2, z=2)
чтобы увеличить график в 2 раза.
Например:
layout = go.Layout(
autosize=False, width=1200, height=800,
title = '3D Spherical Topography Map',
titlefont = dict(family='Courier New', color=titlecolor),
showlegend = False,
scene = dict(
xaxis = noaxis,
yaxis = noaxis,
zaxis = noaxis,
aspectmode='manual',
aspectratio=go.layout.scene.Aspectratio(
x=2, y=2, z=2)),
paper_bgcolor = bgcolor,
plot_bgcolor = bgcolor)
Как уже упоминалось, диапазон в макете работает. я не смог использовать
...
type = "date",
xaxis = dict[date1, date2]
но преобразование дат (POSIXct) в числовое сработало для меня.
(недостаточно представителей для комментариев, но я подумал, что стоит добавить, что преобразование работает, если диапазоны дат не работают).