Итак, я попробовал ваш код и смог воспроизвести проблему.
Причина:
Причина этого в том, что если вы посмотрите на ось y в верхнем левом углу графика, вы увидите, что есть 3 значения [0, 10, 20]
, поэтому между каждым из значений существует разница в 10
. поэтому, когда вы устанавливаете диапазон как [0, 25]
, разница в 10
не соблюдается, поэтому мы не можем видеть 25
в оси y.
Если мы посмотрим на график в левом нижнем углу оси x, мы увидим, что значение 30
подчиняется разнице 10
между каждым из значений. Таким образом, мы можем видеть 30
на оси y!
Решение:
Если вы посмотрите на документацию plotly, которую можно найти здесь, мы можем использовать конкретное свойство объекта yaxis
для установки приращения между каждым из тиков, называемое dtick
, графически определяет его как:
P.S: Личное спасибо Максимилиану Петерсу за помощь в поиске решения !!!!
dtick (числовая или категориальная строка координат)
Устанавливает шаг между отметками на этой оси. Используйте с tick0
. Должно быть положительное число или специальные строки, доступные для осей «журнал» и «дата». Если ось type
- "журнал", то деления устанавливаются каждые 10 ^ (n "dtick), где n - номер деления. Например, чтобы установить отметку деления на 1, 10, 100, 1000, ... установите dtick на 1. Чтобы установить отметки на 1, 100, 10000, ... установите dtick на 2. Чтобы установить отметки на 1, 5, 25, 125, 625, 3125, ... установите dtick на log_10 (5), или 0,69897000433. "log" имеет несколько специальных значений; "L", где f
- положительное число, дает отметки, линейно разнесенные по значению (но не позиции). Например, tick0
= 0.1, dtick
= "L0.5" будет ставить отметки при 0,1, 0,6, 1,1, 1,6 и т. д. Чтобы показать степень 10 плюс маленькие цифры между ними, используйте «D1» (все цифры) или «D2» (только 2 и 5). tick0
игнорируется для «D1» и «D2» . Если ось type
- «дата», вы должны преобразовать время в миллисекунды. Например, чтобы установить интервал между отметками в один день, установите dtick
на 86400000.0. «Дата» также имеет специальные значения. «M» дает интервалы между отметками. на количество месяцев. n
должно быть положительным целым числом. Чтобы установить отметку 15 числа каждого третьего месяца, s et tick0
к "2000-01-15" и dtick
к "M3". Чтобы установить отметку каждые 4 года, установите dtick
на "M48".
Итак, когда мы установим dtick
как 5
, а диапазон [0,25]
, мы получим ожидаемый результат!
Пожалуйста, попробуйте приведенный ниже код и дайте мне знать, если ваша проблема полностью решена!
import pandas as pd
import plotly.offline as py_offline
import plotly.graph_objs as go
py_offline.init_notebook_mode()
from plotly import tools
fig = tools.make_subplots(rows=2, cols=2, subplot_titles=['A', 'B'], shared_xaxes=False, shared_yaxes=True)
data = [[10, 4, 15, 20.5], [3, 12, 22.2], [6.5, 12, 26.2], [18, 4.2, 22.2]]
traces = [go.Bar(x=['Type A', 'Type B', 'Type C'], y=d) for d in data]
fig.append_trace(traces[0], 1, 1)
fig.append_trace(traces[1], 1, 2)
fig.append_trace(traces[2], 2, 1)
fig.append_trace(traces[3], 2, 2)
fig['layout']['yaxis1'].update(title='', range=[0, 25], dtick=5, autorange=False)
fig['layout']['yaxis2'].update(title='', range=[0, 30], autorange=False)
py_offline.iplot(fig)
person
Naren Murali
schedule
30.05.2018
dtick=5
кyaxis1
, также должно быть видно 25. - person Maximilian Peters   schedule 23.05.2018dtick
значения для общей диаграммы. Спасибо! - person AmourK   schedule 23.05.2018