Python绘制柱状图的四种类型:单数据系列、多数据系列、堆积柱状图和百分比堆积柱状图

作者:蛮不讲李2024.01.17 21:55浏览量:34

简介:本文将介绍如何使用Python绘制四种类型的柱状图:单数据系列柱状图、多数据系列柱状图、堆积柱状图和百分比堆积柱状图。我们将使用Matplotlib库来完成这些任务。

在Python中,我们通常使用Matplotlib库来绘制柱状图。以下是如何绘制单数据系列、多数据系列、堆积柱状图和百分比堆积柱状图的示例代码。
首先,确保你已经安装了Matplotlib库。如果没有,请使用以下命令安装:

  1. pip install matplotlib

1. 单数据系列柱状图
单数据系列柱状图是最基本的柱状图类型,它显示单个数据系列的比较。

  1. import matplotlib.pyplot as plt
  2. # 数据
  3. categories = ['Category1', 'Category2', 'Category3', 'Category4', 'Category5']
  4. values = [10, 15, 7, 10, 5]
  5. # 绘制柱状图
  6. plt.bar(categories, values)
  7. # 添加标题和标签
  8. plt.title('Single Data Series Bar Chart')
  9. plt.xlabel('Categories')
  10. plt.ylabel('Values')
  11. # 显示图表
  12. plt.show()

2. 多数据系列柱状图
多数据系列柱状图用于比较多个数据系列。

  1. import matplotlib.pyplot as plt
  2. # 数据
  3. categories = ['Category1', 'Category2', 'Category3', 'Category4', 'Category5']
  4. values1 = [10, 15, 7, 10, 5]
  5. values2 = [5, 8, 12, 7, 4]
  6. # 绘制柱状图
  7. plt.bar(categories, values1, label='Series 1')
  8. plt.bar(categories, values2, label='Series 2')
  9. # 添加标题和标签,并设置图例位置
  10. plt.title('Multiple Data Series Bar Chart')
  11. plt.xlabel('Categories')
  12. plt.ylabel('Values')
  13. plt.legend(loc='upper left')
  14. # 显示图表
  15. plt.show()

3. 堆积柱状图
堆积柱状图显示了每个类别的总和。它用于比较不同类别的相对大小。
```python
import matplotlib.pyplot as plt

数据

categories = [‘Category1’, ‘Category2’, ‘Category3’, ‘Category4’, ‘Category5’]
values1 = [10, 15, 7, 10, 5]
values2 = [5, 8, 12, 7, 4]
values_total = [15, 23, 19, 17, 9] # 总和值,用于绘制堆积柱状图

绘制柱状图,使用颜色填充不同的系列,以便区分它们之间的差异。蓝色表示Series 1,橙色表示Series 2。颜色在后面会用于填充累积的柱子。最后一项为None表示填充的颜色应延伸到轴的边缘。因此,它将为最后一个类别的总和添加一个填充的柱子。注意,这只是一个示例,你可以根据需要更改颜色。

plt.bar(categories, values1, label=’Series 1’, color=’blue’) # Series 1 in blue color (top)
plt.bar(categories, values2, label=’Series 2’, color=’orange’) # Series 2 in orange color (middle)
plt.bar(categories, values_total, color=’blue’, bottom=values1) # Total in blue color (bottom) with Series 1 as the base for the top part of the bar. The bottom parameter is used to subtract the values of the top part of the bar from the total value to make sure they are all accumulated in the right order. 注意: 这个示例使用了固定的颜色值,但你可以根据需要自定义它们。如果颜色为None,则使用默认颜色。如果你想在图表中显示颜色条,可以使用plt.colorbar()函数。这个函数会创建一个颜色条,显示与每个颜色对应的值。在这种情况下,我们不需要使用颜色条,因为我们只是使用颜色来区分不同的系列。但如果你想了解更多关于颜色条的信息,可以查阅Matplotlib文档。注意:这里使用的颜色是随机选择的示例值,你可以根据需要自定义它们。最后一项为None表示填充的颜色应延伸到轴