Есть ли способ начать сюжет, уже увеличенный в определенной области, используя сюжет?

У меня есть точечная диаграмма, построенная на графике (в частности, в автономном режиме на графике с 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) в числовое сработало для меня.

(недостаточно представителей для комментариев, но я подумал, что стоит добавить, что преобразование работает, если диапазоны дат не работают).

Другие вопросы по тегам