Как показать временную метку оси X в Python Plotly - PullRequest
0 голосов
/ 06 февраля 2020

Я хочу построить эти данные для оценки доступности данных. Я использовал следующий код для печати в Plotly.

import datetime
import plotly.express as px

fig = px.bar(df, x=df.index, y="variable", color='value', orientation="h",
             hover_data=[df.index],
             height=350,
             color_continuous_scale=['firebrick', '#2ca02c'],
             title='',
             template='plotly_white', 
            )

Результат такой же, как я хочу ниже.
enter image description here

Но, x-index показывает числа. Мне нужна метка времени (месяц + год) на оси х.

Редактировать Добавление всплывающего

fig.update_layout(yaxis=dict(title=''), 
                  xaxis=dict(
                      title='Timestamp', 
                      tickformat = '%Y-%b',
                  )
                 )

Дает

enter image description here

, который выглядит так, что ось х не считывается из индекса данных.

1 Ответ

1 голос
/ 06 февраля 2020

Если вы хотите использовать бары, мне кажется, вам нужно найти хороший обходной путь. Рассматривали ли вы использовать Heatmap?


import pandas as pd
import plotly.graph_objs as go

df = pd.read_csv("availability3.txt",
                 parse_dates=["Timestamp"])\
       .drop("Unnamed: 0", axis=1)

# you want to have variable as columns
df = pd.pivot_table(df,
                    index="Timestamp",
                    columns="variable",
                    values="value")
fig = go.Figure()
fig.add_trace(
    go.Heatmap(
        z=df.values.T,
        x=df.index,
        y=df.columns,
        colorscale='RdYlGn',
        xgap=1,
        ygap=2)
      )

fig.show()

enter image description here

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