使用plotly库可以很方便地绘制时间序列堆叠条形图。下面是一个完整的示例代码:
import plotly.graph_objects as go
import pandas as pd
# 创建示例数据
data = pd.DataFrame({
'日期': pd.date_range(start='2022-01-01', end='2022-01-31'),
'类别A': [10, 15, 8, 12, 6, 9, 11, 14, 7, 13, 10, 16, 9, 12, 8, 11, 13, 15, 10, 14, 12, 9, 11, 13, 16, 8, 10, 12, 14, 9],
'类别B': [8, 11, 9, 13, 7, 10, 12, 15, 6, 11, 9, 14, 8, 10, 7, 12, 14, 13, 9, 12, 11, 8, 10, 13, 15, 7, 9, 11, 13, 8],
'类别C': [6, 9, 7, 11, 5, 8, 10, 13, 4, 9, 7, 12, 6, 8, 5, 10, 12, 11, 7, 10, 9, 6, 8, 11, 13, 5, 7, 9, 11, 6]
})
# 创建堆叠条形图
fig = go.Figure(data=[
go.Bar(name='类别A', x=data['日期'], y=data['类别A']),
go.Bar(name='类别B', x=data['日期'], y=data['类别B']),
go.Bar(name='类别C', x=data['日期'], y=data['类别C'])
])
# 设置图表布局
fig.update_layout(
title='时间序列堆叠条形图',
xaxis_tickfont_size=12,
yaxis=dict(
title='值',
titlefont_size=14,
tickfont_size=12,
),
legend=dict(
x=0,
y=1.0,
bgcolor='rgba(255, 255, 255, 0)',
bordercolor='rgba(255, 255, 255, 0)'
),
barmode='stack'
)
# 显示图表
fig.show()
这段代码使用了plotly.graph_objects模块创建了一个堆叠条形图。首先,我们创建了一个示例数据,包含日期和三个类别的值。然后,通过go.Bar创建了三个条形图,分别代表三个类别。最后,通过update_layout设置了图表的标题、坐标轴标签和图例位置,并将barmode设置为'stack'以实现堆叠效果。最后,通过fig.show()显示图表。
推荐的腾讯云相关产品:腾讯云服务器(https://cloud.tencent.com/product/cvm)和腾讯云数据库(https://cloud.tencent.com/product/cdb)可以提供稳定的计算和存储资源支持。
领取专属 10元无门槛券
手把手带您无忧上云