сюжетная черта: как нарисовать ось у в разных тиках? - PullRequest
1 голос
/ 06 марта 2019

Например, я создаю скреттер, чтобы показать процентную разницу между реальным продажным счетом и прогнозируемой моделью продажным счетом некоторых продуктов:

enter image description here

percentage_difference = (predict_value - real_value)/real_value

Большинство точек в основном расположены в 0 ~ 1.(в процентах 0% ~ 100%) Как мы знаем, в данных всегда есть некоторые выбросы, некоторые из них могут превышать 10.

Поэтому я хочу отобразить ось y графика в: [-10, -5, -1, 0, 1, 5, 10]

500% ~ 1000% with length 1
100% ~ 500% with length 2
0% ~ 100% with length 3
0% ~ -100% with length 3
-100% ~ -500% with length 2
-500% ~ -1000% with length 1

Но я не вижу примера в документах.

Ответы [ 2 ]

0 голосов
/ 06 марта 2019

Вы должны попробовать посмотреть параметры tickvals и ticktext . Я думаю, что они помогут вам здесь. tickvals укажите, сколько тиков вы хотите видеть на yaxis, а ticktext установите текст для каждого из тиков (для 0 установите для текста тика значение percent_difference[0]).

Предлагаемый код для layout:

layout = dict(yaxis=dict(title="Percents values",
                         # Choose what you want to see on yaxis! In this case list
                         tickvals=[i for i in range(len(percentage_difference))],
                         ticktext=percentage_difference
                         )
              )
0 голосов
/ 06 марта 2019

Для ручного диапазона осей

    layout = go.Layout(
    xaxis=dict(
        range=[2, 5]
    ),
    yaxis=dict(
        range=[2, 5]
    )
)

для получения дополнительной информации https://plot.ly/python/axes/#setting-the-range-of-axes-manually

...