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

У меня есть диаграмма рассеяния, созданная с помощью plotly (в частности, офлайн-графика с Python API на Jupyter Notebook), и, как вы знаете, plotly упрощает пользователю масштабирование и кадрирование определенных областей, но я бы хотел, чтобы сюжет уже начинался сосредоточился на конкретной области по моему выбору.

Я не могу найти ничего подходящего в документации (возможно, потому, что я не знаю, где искать или какие термины искать). Есть ли способ сделать это, и если да, то как? И чем отличается настройка при использовании подзаголовков, а не объекта Figure?


person theberzi    schedule 25.02.2019    source источник


Ответы (2)


Когда вы указываете свой 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 здесь.

person asongtoruin    schedule 25.02.2019
comment
Спасибо, у меня создалось впечатление, что это приведет к сокращению всех результатов за пределами диапазона, но, по-видимому, это не так. - person theberzi; 25.02.2019
comment
Из моего тестирования с помощью plotly express это не работает - person Charlie G; 14.07.2020

Если ваша ось включает даты, убедитесь, что вы указали тип как дату, прежде чем устанавливать диапазон, иначе вы получите неожиданные результаты.

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)
person Ébe Isaac    schedule 16.07.2020
comment
Я много часов искал, чтобы решить эту проблему; что-то столь примитивное найти было непросто. Как ни странно, я не смог найти достаточно подробностей на официальной странице plotly для xaxis. Но гораздо лучшая документация для параметров xaxis в Kite помогла мне прийти к вышеуказанное решение. - person Ébe Isaac; 16.07.2020