Matplotlib Bar Plot Multiple Columns
参考:Matplotlib bar plot multiple columns
在数据可视化中,条形图是一种广泛使用的图表类型,用于展示不同类别的数据之间的比较。Matplotlib是一个功能强大且广泛使用的Python数据可视化库,它提供了多种绘制条形图的方法。本文将详细介绍如何使用Matplotlib绘制多列数据的条形图。
1. 准备数据
首先,我们需要准备数据集。假设我们有一份销售数据集,其中包含了三个地区(A、B、C)的每个地区的每月销售额。销售数据如下:
月份 | 地区A | 地区B | 地区C |
---|---|---|---|
一月 | 100 | 150 | 200 |
二月 | 120 | 130 | 170 |
三月 | 80 | 140 | 160 |
四月 | 110 | 120 | 180 |
五月 | 90 | 160 | 190 |
我们可以将这个数据集存储在一个2维数组或DataFrame中。这里我们使用Pandas库来处理数据:
import pandas as pd
data = {
'月份': ['一月', '二月', '三月', '四月', '五月'],
'地区A': [100, 120, 80, 110, 90],
'地区B': [150, 130, 140, 120, 160],
'地区C': [200, 170, 160, 180, 190]
}
df = pd.DataFrame(data)
2. 绘制多列数据的条形图
有了数据集,我们可以使用Matplotlib绘制多列数据的条形图。下面是绘制这个销售数据的条形图的代码:
import matplotlib.pyplot as plt
import numpy as np
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['Microsoft YaHei'] # 指定默认字体:解决plot不能显示中文问题
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
# 根据月份的数量生成等间距的x坐标
x = np.arange(len(df['月份']))
# 设置条形的宽度
width = 0.2
# 绘制地区A的条形图
plt.bar(x-0.2, df['地区A'], width, label='地区A')
# 绘制地区B的条形图
plt.bar(x, df['地区B'], width, label='地区B')
# 绘制地区C的条形图
plt.bar(x+0.2, df['地区C'], width, label='地区C')
# 设置x坐标的刻度和标签
plt.xticks(x, df['月份'])
# 设置y坐标的刻度范围
plt.ylim(0, 250)
# 添加图例
plt.legend()
# 显示条形图
plt.show()
运行上述代码会得到一个包含三个地区销售数据的条形图。每个月份都显示了不同地区的销售额,并使用颜色区分了不同地区。
3. 结论
本文介绍了如何使用Matplotlib绘制多列数据的条形图。通过使用合适的数据集和绘图代码,我们可以可视化并比较不同类别的数据。