python plotly时间序列正确处理缺少日期

时间:2017-12-11 08:35:10

标签: python python-3.x plotly timeserieschart

我在Spyder中使用Python 3.6并尝试使用绘图离线库绘制图形。无论如何,我的csv文件中有一些丢失的日期,我认为它们会导致您在附加的屏幕截图中看到的问题。 enter image description here

这是我的python代码:

from plotly.offline import plot
import plotly.graph_objs as go

import pandas as pd

df = pd.read_csv('H://python/final_mk_output_regression.csv')

data = [go.Scatter(
          x=df.MESS_DATUM,
          y=df['sum_meal'])]

plot(data)

我无法获得正确的图表。例如,五月之前的部分非常令人困惑。 我在4月18日到4月30日的csv文件中缺少日期,这可能会导致这个问题。 我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

只需添加type =" category"到代码。 我们走了:

#PRINT DATA
data = [go.Scatter(
                x=df.MESS_DATUM,
                y=df['sum_meal'])]
layout = dict(
                title="timeline meal orders",
                xaxis = dict(
                type="category"))
fig = dict(data=data, layout=layout)
plot(fig, filename="overview")

答案 1 :(得分:0)

仅添加 type ='categry'将无济于事,因为它将提供未排序的日期和时间。您还需要添加 categoryorder ='升序类别'

这是修改后的代码:

data = [go.Scatter(
            x=df.MESS_DATUM,
            y=df['sum_meal'])]

layout = dict(
            title="timeline meal orders",
            xaxis = dict(
            type="category", 
            categoryorder='category ascending'))

fig = dict(data=data, layout=layout)
plot(fig, filename="overview")