如何在jupyter中绘制时间序列图?

15 浏览
0 Comments

如何在jupyter中绘制时间序列图?

我试图绘制数据,以达到类似于这样的效果:\n[链接1]\n但是我无法做到,最终只得到了使用plotly绘制的这个图表:\n[链接2]\n[链接3]是我的数据的小样本\n有人知道如何实现那个图表吗?\n先谢谢了。

0
0 Comments

如何在Jupyter中绘制时间序列图?

在Jupyter中绘制时间序列图的原因是为了展示数据的时间变化趋势。通过时间序列图,我们可以更直观地了解数据随时间的变化情况。下面是解决该问题的方法:

1. 首先,将数据组织成一个pandas dataframe。在pandas dataframe中,可以方便地处理和操作时间序列数据。

2. 使用fig=go.Figure(go.Scatter())设置一个基本的plotly结构,该结构用于绘制时间序列图。

3. 使用fig.add_traces(go.Scatter())向该结构添加所需的部分。这样可以根据需要添加多个数据序列。

下面是一个示例,展示了如何在Jupyter中绘制时间序列图:

import plotly.graph_objects as go
import pandas as pd
import numpy as np
# 随机生成数据或从其他数据源获取数据
np.random.seed(123)
observations = 200
timestep = np.arange(0, observations/10, 0.1)
dates = pd.date_range('1/1/2020', periods=observations)
val1 = np.sin(timestep)
val2=val1+np.random.uniform(low=-1, high=1, size=observations)
# 将数据组织成pandas dataframe
df= pd.DataFrame({'Timestep':timestep, 'Date':dates,
                               'Value_1':val1,
                               'Value_2':val2})
# 设置plotly的基本结构
fig = go.Figure([go.Scatter(x=df['Date'], y=df['Value_2'],
                            marker_color='black',
                            opacity=0.6,
                            name='Value 1')])
# 添加其他数据序列
fig.add_traces([go.Scatter(x=df['Date'], y=df['Value_1'],
                           marker_color='blue',
                           name='Value 2')])
# 绘制图形
fig.show()

上述代码首先导入所需的库,然后随机生成了一些数据。接下来,将数据组织成pandas dataframe,并使用plotly创建一个基本的图形结构。最后,通过添加其他数据序列,绘制了时间序列图。

通过这种方法,我们可以在Jupyter中轻松地绘制时间序列图,以便更好地理解和分析数据的时间变化趋势。

0