如何使用seaborn或plotly绘制时间序列图?

我有一个时间序列数据,如下所示:

Datum   Menge
1/1/2018 0:00   19.5
1/1/2018 0:15   19.0
1/1/2018 0:30   19.5
1/1/2018 0:45   19.5
1/1/2018 1:00   21.0
1/1/2018 1:15   19.5
1/1/2018 1:30   20.0
1/1/2018 1:45   23.0

数据帧数据的形状为(14880,2).在“门数”列中,只有11807个值可用,其余为nan

我试图将其绘制如下:

data.plot()
plt.show()

这给了我

如何使用seaborn或plotly绘制时间序列图?

但是我想用seaborn或plotly绘制相同的图

对于seaborn,我尝试过:

x = data.Datum
y = data.Menge.values
sns.lineplot(x = x, y = y, data = data)

它给我的输出为:

Out[3]: <matplotlib.axes._subplots.AxesSubplot at 0x21286bb8668>

并打开一个新的图形窗口,但显示图1(无响应)

所以,我有两个问题:

>在上图中,我们可以看到x轴具有索引,但是我希望它是那里的Datum值.如何更改?
>我想通过seaborn或plotly实现这一目标,那么有没有办法实现这两个目标呢?

解决方法:

考虑玩具数据框:

>海上解决方案

import pandas as pd
import matplotlib.pyplot as plt

import seaborn as sns

df = pd.DataFrame({"Datum": ['1/1/2018 0:00',
                             '1/1/2018 0:15',
                             '1/1/2018 0:30',
                             '1/1/2018 0:45',
                             '1/1/2018 1:00',
                             '1/1/2018 1:15',
                             '1/1/2018 1:30',
                             '1/1/2018 1:45 '],
                   "Menge": [19.5, 19.,19.5,19.5,21,19.5,20,23]})
sns.lineplot(x="Datum", y="Menge", data=df)
plt.xticks(rotation=15)
plt.title('seaborn-matplotlib example')
plt.show()

如何使用seaborn或plotly绘制时间序列图?

>情节解决

import pandas as pd
import numpy as np

import plotly.graph_objs as go
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
init_notebook_mode(connected=True)

trace1 = go.Scatter(x=df.Datum,
                    y=df.Menge,
                    name = "plotly example",
                    line = dict(color = 'blue'),
                    opacity = 0.4)

layout = dict(title='plotly example',)

fig = dict(data=[trace1], layout=layout)
iplot(fig)

如何使用seaborn或plotly绘制时间序列图?

上一篇:设置群集图上等于零的值的特定颜色


下一篇:六十八、内表插入的三种方法之一,COLLECT的使用,用于计算数字字段之和