返回

Matplotlib系列之走进柱状图

后端

在数据可视化的众多绘图类型中,柱状图以其直观清晰的特性成为最常用的图形之一。在Python中,可以使用Matplotlib库轻松绘制柱状图。本篇文章将介绍Matplotlib柱状图的基本使用方法,从普通柱状图到分组柱状图、堆叠柱状图等,循序渐进地帮助读者掌握柱状图的绘制技巧。

绘制普通柱状图

绘制普通柱状图,我们只需调用plt.bar()方法即可。我们需要传入两个参数:

  • x:横坐标数据,通常是类别或时间点。
  • y:纵坐标数据,即每个类别的值。

以下代码演示了如何绘制一个简单的普通柱状图:

import matplotlib.pyplot as plt

# 数据准备
x = ['A', 'B', 'C', 'D', 'E']
y = [10, 20, 30, 40, 50]

# 绘制柱状图
plt.bar(x, y)

# 显示图形
plt.show()

运行代码后,将生成一个柱状图,其中横坐标为类别['A', 'B', 'C', 'D', 'E'],纵坐标为对应类别的值[10, 20, 30, 40, 50]

绘制分组柱状图

分组柱状图可以比较不同组别的数据。我们可以使用plt.bar()方法的width参数来指定柱状图的宽度,从而将柱状图分组。

以下代码演示了如何绘制一个分组柱状图:

import matplotlib.pyplot as plt

# 数据准备
x = ['A', 'B', 'C', 'D', 'E']
y1 = [10, 20, 30, 40, 50]
y2 = [5, 10, 15, 20, 25]

# 绘制分组柱状图
plt.bar(x, y1, width=0.4, label='组1')
plt.bar(x, y2, width=0.4, bottom=y1, label='组2')

# 添加图例
plt.legend()

# 显示图形
plt.show()

运行代码后,将生成一个分组柱状图,其中横坐标为类别['A', 'B', 'C', 'D', 'E'],纵坐标为两组数据的叠加值。

绘制堆叠柱状图

堆叠柱状图可以展示不同类别的值在总值中的占比情况。我们可以使用plt.bar()方法的bottom参数来指定柱状图的底部位置,从而实现堆叠效果。

以下代码演示了如何绘制一个堆叠柱状图:

import matplotlib.pyplot as plt

# 数据准备
x = ['A', 'B', 'C', 'D', 'E']
y1 = [10, 20, 30, 40, 50]
y2 = [5, 10, 15, 20, 25]

# 绘制堆叠柱状图
plt.bar(x, y1, label='组1')
plt.bar(x, y2, bottom=y1, label='组2')

# 添加图例
plt.legend()

# 显示图形
plt.show()

运行代码后,将生成一个堆叠柱状图,其中横坐标为类别['A', 'B', 'C', 'D', 'E'],纵坐标为两组数据的叠加值。

结语

柱状图是数据可视化中常用的图形类型之一,可以直观清晰地展示数据信息。在Matplotlib中,我们可以使用plt.bar()方法轻松绘制柱状图,并通过调整参数来绘制分组柱状图、堆叠柱状图等。