python绘图日期轴作为字符串而不是日期

Vic*_*cky 4 python plotly

我想使用 pythonplotly 创建一个条形图,其中 x 轴日期作为字符串/类别。由于某种原因,plotly 不断将字符串转换为日期。我的 x 轴是日期的连续“时间线”,而不是我期望的类别。

我的问题:如何构建一个条形图,将我的日期作为类别而不是日期处理?

最小的例子:

d = {'date': ['2018-08-04', '2018-08-02','2018-08-03', '2018-08-11','2018-08-11'], 'score': [3, 4, 6, 2,8]}
df = pd.DataFrame(data=d)

data = [go.Bar(
            x=df['date'],
            y=df['score']
    )]

offline.iplot(data, filename='basic-bar')
Run Code Online (Sandbox Code Playgroud)

例子:

在此输入图像描述

Max*_*ers 5

type您可以在设置中指定轴layout。Plotly 自动检测日期,但您可以通过设置覆盖它type='category'

在此输入图像描述

import pandas as pd
import plotly

plotly.offline.init_notebook_mode()

d = {'date': ['2018-08-04', '2018-08-02','2018-08-03', '2018-08-11','2018-08-11'], 
     'score': [3, 4, 6, 2,8]}
df = pd.DataFrame(data=d)

data = plotly.graph_objs.Bar(x=df['date'],
                             y=df['score'])

#the magic happens here
layout = plotly.graph_objs.Layout(xaxis={'type': 'category'})

fig = plotly.graph_objs.Figure([data], layout)
plotly.offline.iplot(fig)
Run Code Online (Sandbox Code Playgroud)