使用plotly.graph_objects绘制时间序列图
发布时间:2024-01-05 11:59:50
plotly.graph_objects是一个Python库,用于绘制交互式绘图,包含各种类型的统计图表。在时间序列分析中,绘制时间序列图是非常常见的任务之一。下面是一个使用plotly.graph_objects绘制时间序列图的示例。
首先,我们需要安装plotly和pandas库。可以使用以下命令进行安装:
pip install plotly pandas
然后,我们可以使用如下代码导入所需的库:
import plotly.graph_objects as go import pandas as pd
接下来,我们需要加载时间序列数据。为了演示方便,我们将使用一份包含全球每日新冠病例的数据集。你可以在Kaggle上找到这个数据集。
df = pd.read_csv('covid19_cases.csv')
我们可以查看数据的前几行,确保数据导入成功:
print(df.head())
现在,我们可以开始绘制时间序列图。我们需要使用plotly.graph_objects中的Figure类,并使用add_trace方法添加时间序列数据。
fig = go.Figure() fig.add_trace(go.Scatter(x=df['Date'], y=df['Confirmed'], name='Confirmed')) fig.add_trace(go.Scatter(x=df['Date'], y=df['Deaths'], name='Deaths')) fig.add_trace(go.Scatter(x=df['Date'], y=df['Recovered'], name='Recovered'))
在这个例子中,我们使用了go.Scatter类来绘制散点图,并传入x和y值。x值是时间戳,y值是相应的感染病例数。每个散点图都代表一个数据系列,我们可以为每个系列指定一个名称。
完成所有散点图的添加后,我们需要对图表进行布局和样式设置。可以使用update_layout方法进行设置。
fig.update_layout(
title="Global COVID-19 Cases",
xaxis_tickformat='%Y-%m-%d',
xaxis_title="Date",
yaxis_title="Number of Cases",
legend_title="Legend",
font=dict(
family="Courier New, monospace",
size=12,
color="black"
)
)
在这个例子中,我们设置了图表的标题、x轴和y轴的标题、图例的标题,以及字体的样式。
最后,我们可以使用show方法显示图表。
fig.show()
