matplotlib条形图共用一个y轴
在数据可视化中,条形图是一种常用的图表类型,用来展示分类数据的数量或比例关系。使用matplotlib库可以方便地绘制条形图,并且可以通过设置不同的参数来自定义图表的样式。在实际应用中,有时候需要在同一个图中展示多组数据的条形图,并且共用一个y轴来进行比较。本文将介绍如何使用matplotlib绘制多组数据共用一个y轴的条形图。
准备数据
首先,我们需要准备多组数据用来绘制条形图。以一个简单的示例来说明,假设有以下两组数据需要展示:
import numpy as np # 数据1 categories1 = ['A', 'B', 'C', 'D', 'E'] values1 = [10, 15, 20, 25, 30] # 数据2 categories2 = ['A', 'B', 'C', 'D', 'E'] values2 = [5, 10, 15, 20, 25]
以上代码中,categories1和values1是第一组数据的分类和对应的值,categories2和values2是第二组数据的分类和对应的值。
绘制条形图
接下来,我们使用matplotlib库来绘制两组数据的条形图。首先,需要导入必要的库:
import matplotlib.pyplot as plt
然后,我们可以按照以下步骤来绘制条形图:
- 创建绘图区域和子图:
fig, ax = plt.subplots()
- 绘制第一组数据的条形图:
ax.bar(categories1, values1, color='b', label='Data 1')
- 在同一个图中绘制第二组数据的条形图,并将其共用y轴:
ax.bar(categories2, values2, color='r', label='Data 2', alpha=0.5)
- 添加图例、横纵坐标标签以及标题:
ax.set_xlabel('Categories') ax.set_ylabel('Values') ax.set_title('Bar Chart with Shared Y-Axis') ax.legend()
- 显示图表:
plt.show()
运行以上代码,我们可以得到如下图所示的多组数据共用一个y轴的条形图:
import numpy as np import matplotlib.pyplot as plt # 数据1 categories1 = ['A', 'B', 'C', 'D', 'E'] values1 = [10, 15, 20, 25, 30] # 数据2 categories2 = ['A', 'B', 'C', 'D', 'E'] values2 = [5, 10, 15, 20, 25] fig, ax = plt.subplots() ax.bar(categories1, values1, color='b', label='Data 1') ax.bar(categories2, values2, color='r', label='Data 2', alpha=0.5) ax.set_xlabel('Categories') ax.set_ylabel('Values') ax.set_title('Bar Chart with Shared Y-Axis') ax.legend() plt.show()
结论
通过以上示例代码,我们可以看到如何使用matplotlib库来绘制多组数据共用一个y轴的条形图。在实际应用中,可以根据需要自定义图表的样式和参数,以满足不同的需求。
版权声明:本页面内容旨在传播知识,为用户自行发布,若有侵权等问题请及时与本网联系,我们将第一时间处理。E-mail:284563525@qq.com