📅  最后修改于: 2023-12-03 14:45:43.394000             🧑  作者: Mango
Pygal是一个流行的Python图表库,可用于创建各种交互式可视化。Pygal支持多种图表类型,其中之一是堆积条形图。堆积条形图用于比较多个类别中的不同值,并将它们堆积在一起以显示它们的总和。
你可以使用pip安装Pygal:
pip install pygal
在绘制堆叠条形图之前,我们需要准备我们的数据。在此示例中,我们将使用以下数据:
data = {'Python': [11315, 10057, 9715, 9340, 9005, 7538],
'Java': [9921, 10744, 10987, 11213, 11419, 11508],
'C++': [6064, 6473, 7064, 7144, 7289, 8985],
'Ruby': [2187, 2466, 2766, 2830, 3016, 3296]}
在本示例中,我们有四个类别:Python、Java、C++和Ruby。每个类别都有一个包含六个值的列表,这些值代表每个月的数据。
我们将使用StackedBar图表类型创建堆叠条形图。堆叠条形图特征与其他Pygal图表类型类似,我们可以定义标题、X和Y轴的标签、颜色方案等。
import pygal
# 创建堆叠条形图
stacked_bar = pygal.StackedBar()
# 设置标题
stacked_bar.title = 'Programming Language Popularity - Stacked Bar Chart'
# 设置X轴标签
stacked_bar.x_labels = map(str, range(1, 7))
# 设置Y轴标签
stacked_bar.y_labels = list(range(0, 35000, 5000))
stacked_bar.y_title = 'Number of Users'
# 添加数据
stacked_bar.add('Python', data['Python'])
stacked_bar.add('Java', data['Java'])
stacked_bar.add('C++', data['C++'])
stacked_bar.add('Ruby', data['Ruby'])
# 渲染图表并保存到文件
stacked_bar.render_to_file('stacked_bar_chart.svg')
在此代码中,我们定义了以下属性:
然后,我们添加了四个类别的数据。每个类别都与前面定义的数据字典相关联。
最后,我们使用render_to_file方法将图表渲染为SVG文件。
在本文中,我们介绍了基于Pygal的堆叠条形图。我们还学习了如何准备数据、创建和自定义堆叠条形图。通过使用Pygal,我们可以轻松地创建漂亮的交互式可视化。