欢迎访问宙启技术站
智能推送

使用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()