Python 如何用plotly可视化时间序列?

Python 如何用plotly可视化时间序列?,python,jupyter-notebook,time-series,plotly,Python,Jupyter Notebook,Time Series,Plotly,我有一个包含两个变量的数据集:单击(对象)和会话时间(datetime64[ns]) 我试图用plotly绘制一个时间序列。但是输出看起来很奇怪,我找不到原因 下面是我试图绘制的代码: import plotly.offline as pyo import plotly.graph_objs as go import numpy as numpy trace = go.Scatter(x=list(df.session_time), y=list(df.c

我有一个包含两个变量的数据集:
单击
(对象)和
会话时间
(datetime64[ns])

我试图用plotly绘制一个时间序列。但是输出看起来很奇怪,我找不到原因

下面是我试图绘制的代码:

import plotly.offline as pyo
import plotly.graph_objs as go
import numpy as numpy

trace = go.Scatter(x=list(df.session_time),
                   y=list(df.clicks), line=dict(color='red'))

dat = [trace]
layout = dict(
    title='Clicks on books',
    xaxis=dict(
        rangeselector=dict(
            buttons=list([
                dict(step='all')
            ])
        ),
        rangeslider=dict(
            visible = True
        ),
        type='date'
    )
)

fig = dict(data=dat, layout=layout)
pyo.iplot(fig)
这里的输出是:


知道我遗漏了什么吗?

go.Scatter
将数据绘制为散点图,并且由于datetime数据的顺序不正确,因此它将数据绘制为无序。 将
session\u time
列转换为datetime后,按

df.sort_值(按=['session_time'],inplace=True)

将解决您的问题。这可能不是最优雅的解决方案,但它确实有效


您能分享更多关于您的数据吗?您是如何导入的?请问如何共享数据样本?我已经像这样导入了数据:df=pd.read_csv('clicks.csv')@lincolncka使用pandas导入数据后,
单击
会话时间
的数据类型是什么?它们是不是
class'pandas.core.series.series'
通过对您的时间数据进行排序,我让它开始工作了。请在转换为datetime后尝试添加此项
df.sort\u值(按=['session\u time'],inplace=True)