📜  pygal中的堆积条形图(1)

📅  最后修改于: 2023-12-03 14:45:43.394000             🧑  作者: Mango

Pygal中的堆积条形图

Pygal是一个流行的Python图表库,可用于创建各种交互式可视化。Pygal支持多种图表类型,其中之一是堆积条形图。堆积条形图用于比较多个类别中的不同值,并将它们堆积在一起以显示它们的总和。

安装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')

在此代码中,我们定义了以下属性:

  • 标题:'Programming Language Popularity - Stacked Bar Chart'。
  • X轴标签:从1到6的数字。
  • Y轴标签:在5000增量步长中的数字列表。
  • Y轴标题:'Number of Users'。

然后,我们添加了四个类别的数据。每个类别都与前面定义的数据字典相关联。

最后,我们使用render_to_file方法将图表渲染为SVG文件。

结论

在本文中,我们介绍了基于Pygal的堆叠条形图。我们还学习了如何准备数据、创建和自定义堆叠条形图。通过使用Pygal,我们可以轻松地创建漂亮的交互式可视化。