2 метки по оси X в Plotly Python - PullRequest
0 голосов
/ 09 ноября 2019

Я хочу разработать график с двумя метками оси X типа pandas._libs.tslibs.timestamps.Timestamp. Первый будет иметь ежемесячные метки, а второй - квартальные (разных цветов). Тем не менее, я не могу получить две разные метки осей для отображения с типом Timestamp. Ниже приведен рабочий пример для типа int.

РАБОТА - График с двумя метками оси x типа int

import plotly.graph_objects as go

fig = go.Figure(data=None, layout=None)

fig.add_trace(
  go.Scatter(
    x=[1,2,3],
        y=[4,5,6],
        xaxis='x1',
        mode="lines",
  )
)

fig.add_trace(
  go.Scatter(
    x=[1,2,3],
        y=[4,5,6],
        xaxis='x2',
        mode="lines",
  )
)

layout=dict(
      yaxis=dict(title='yaxis title'), 
        xaxis=dict(
            overlaying= 'x',
            tickmode= 'linear',
            tick0= 1.1,
            dtick= 1,
            side= 'bottom',
            color='blue'
        ),
        xaxis2=dict(
            overlaying= 'x',
            tickmode= 'linear',
            tick0= 1,
            dtick= 1,
            side= 'bottom',
            color='red'
        ),
)

fig.layout=layout
fig.show()

НЕ РАБОТАЕТ - График с двумя метками оси x типа РАБОТАpandas._libs.tslibs.timestamps.Timestamp

Примечание. Это пример неполного кода. Если я могу предоставить больше информации о входах, пожалуйста, дайте мне знать.

import plotly.graph_objects as go

fig = go.Figure(data=None, layout=None)
#x is a pandas series of type "pandas._libs.tslibs.timestamps.Timestamp"
#y is a pandas series of type "numpy.float64"

#add price plot
fig.add_trace(
    go.Scatter(
        x=x,
        y=y,
        xaxis='x1',
        mode="lines"
    ),
    row=1, col=1 #there are subplots in the graph
)

#add price plot
fig.add_trace(
    go.Scatter(
        x=x,
        y=y,
        xaxis='x2',
        mode="lines"
    ),
    row=1, col=1 #there are subplots in the graph
)
layout=dict(
      yaxis=dict(title='yaxis title'), 
        xaxis = dict(
            overlaying='x',
            tickmode='linear',
            tick0=days[30],
            dtick="M3",
            side='bottom',
            color='red'
        ),
        xaxis2 = dict(
            overlaying='x',
            tickmode='linear',
            tick0=days[30],
            dtick="M1",
            side='bottom',
            color='blue'
        )
)

fig.layout=layout
fig.show()

Вот две наиболее полезные ссылки на данный момент:

Любая помощь приветствуется! Я застрял на этой неделе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...