Matplotlib双柱状图(簇状柱形图)

作者:有好多问题2024.01.17 21:55浏览量:16

简介:本文将介绍如何使用Matplotlib库创建双柱状图(簇状柱形图),并通过实例演示其应用。

在Matplotlib中,我们可以使用subplotssubplot2grid函数来创建双柱状图(簇状柱形图)。以下是使用subplots函数的示例代码:

  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. # 创建数据
  4. x = np.arange(4)
  5. y1 = [5, 7, 9, 11]
  6. y2 = [2, 3, 4, 6]
  7. # 创建子图
  8. fig, ax1 = plt.subplots()
  9. ax1.bar(x, y1, color='b', label='Y1')
  10. ax1.set_xlabel('X')
  11. ax1.set_ylabel('Y1', color='b')
  12. ax1.legend()
  13. # 创建第二个子图
  14. ax2 = ax1.twinx()
  15. ax2.bar(x, y2, color='r', label='Y2')
  16. ax2.set_ylabel('Y2', color='r')
  17. ax2.legend()
  18. # 美化图形
  19. plt.title('双柱状图(簇状柱形图)')
  20. plt.show()

在上面的代码中,我们首先创建了两组数据y1y2,然后使用subplots函数创建了一个子图,并在该子图上绘制了第一组数据y1。接着,我们使用twinx函数创建了第二个子图,并在该子图上绘制了第二组数据y2。最后,我们使用title函数设置了标题,并使用show函数显示了图形。
注意,在绘制第二个子图时,我们需要使用twinx函数来创建一个与第一个子图共享x轴的第二个子图。然后,我们可以在第二个子图上绘制第二组数据。另外,为了使两个子图的y轴标签颜色不同,我们分别设置了它们的颜色属性。
通过上述示例代码,我们可以轻松地创建双柱状图(簇状柱形图),并展示两组数据之间的关系。在实际应用中,我们可以根据需要调整数据、颜色、标签等属性来满足特定的需求。同时,我们也可以尝试使用其他Matplotlib函数和技巧来进一步美化图形和增强可视化效果。