Сюжет: как установить xticks для всех подзаголовков? - PullRequest
2 голосов
/ 02 августа 2020

Я не могу манипулировать xticks на всех моих подзаголовках. Метод для xticks, который я использую (согласно документации), изменяет xticks только самого верхнего подзаголовка.

Как я могу изменить xticks и для нижнего подзаголовка?

Ниже это мой код:

fig = make_subplots(rows=2, cols=1)

fig.add_trace(
    go.Scatter(x=np.arange(len(df)), y=df['ro2ofst1 ()'], name='ro2ofst1'),
    row=1, col=1
)

fig.add_trace(
    go.Scatter(x=np.arange(len(df)), y=df['ro2ofst2 ()'], name='ro2ofst2'),
    row=2, col=1
)

fig.update_yaxes(range=[0,300],title='mV',row=1,col=1)
fig.update_yaxes(range=[0,300],title='mV',row=2,col=1)
fig.update_xaxes(title_text='data samples',row=2,col=1)

fig.update_layout(title = 'RO2OFST',
                 xaxis = dict(
                 tickmode = 'linear',
                 tick0=0,
                 dtick=25000))
fig.show()

fig.update_layout выше изменяет xticks только для подзаголовка в строке 1 столбца 1, но нижний подзаголовок сохраняет xticks по умолчанию.

Спасибо

R

Ответы [ 2 ]

2 голосов
/ 03 августа 2020

Вы можете получить доступ ко всем осям x на фигуре и установить диапазон, используя a для l oop следующим образом:

myRange=[0,6]
for ax in fig['layout']:
    if ax[:5]=='xaxis':
        fig['layout'][ax]['range']=myRange

График:

введите описание изображения здесь

Полный код:

from plotly.subplots import make_subplots
import plotly.graph_objects as go

fig = make_subplots(rows=3, cols=1)

fig.append_trace(go.Scatter(
    x=[3, 4, 5],
    y=[1000, 1100, 1200],
), row=1, col=1)

fig.append_trace(go.Scatter(
    x=[2, 3, 4],
    y=[100, 110, 120],
), row=2, col=1)

fig.append_trace(go.Scatter(
    x=[0, 1, 2],
    y=[10, 11, 12]
), row=3, col=1)

myRange=[0,6]
for ax in fig['layout']:
    if ax[:5]=='xaxis':
        fig['layout'][ax]['range']=myRange

fig.update_layout(height=600, width=600, title_text="Stacked Subplots")
fig.show()
1 голос
/ 02 августа 2020

Я нашел ответ на это. Я могу использовать - xaxis1 и xaxis2 на рис .update_layout

...