原文: https://pythonspot.com/matplotlib-bar-chart/

Matplotlib 可用于创建条形图。 您可能喜欢 Matplotlib 图库

条形图代码

下面的代码创建一个条形图:

  1. import matplotlib.pyplot as plt; plt.rcdefaults()
  2. import numpy as np
  3. import matplotlib.pyplot as plt
  4. objects = ('Python', 'C++', 'Java', 'Perl', 'Scala', 'Lisp')
  5. y_pos = np.arange(len(objects))
  6. performance = [10,8,6,4,2,1]
  7. plt.bar(y_pos, performance, align='center', alpha=0.5)
  8. plt.xticks(y_pos, objects)
  9. plt.ylabel('Usage')
  10. plt.title('Programming language usage')
  11. plt.show()

输出:

Matplotlib 条形图 - 图1

Python 条形图

Matplotlib 图表可以是水平的,以创建水平条形图:

  1. import matplotlib.pyplot as plt; plt.rcdefaults()
  2. import numpy as np
  3. import matplotlib.pyplot as plt
  4. objects = ('Python', 'C++', 'Java', 'Perl', 'Scala', 'Lisp')
  5. y_pos = np.arange(len(objects))
  6. performance = [10,8,6,4,2,1]
  7. plt.barh(y_pos, performance, align='center', alpha=0.5)
  8. plt.yticks(y_pos, objects)
  9. plt.xlabel('Usage')
  10. plt.title('Programming language usage')
  11. plt.show()

输出:

Matplotlib 条形图 - 图2

水平条形图

有关条形图的更多信息

您可以使用以下 Matplotlib 代码比较两个数据系列:

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. # data to plot
  4. n_groups = 4
  5. means_frank = (90, 55, 40, 65)
  6. means_guido = (85, 62, 54, 20)
  7. # create plot
  8. fig, ax = plt.subplots()
  9. index = np.arange(n_groups)
  10. bar_width = 0.35
  11. opacity = 0.8
  12. rects1 = plt.bar(index, means_frank, bar_width,
  13. alpha=opacity,
  14. color='b',
  15. label='Frank')
  16. rects2 = plt.bar(index + bar_width, means_guido, bar_width,
  17. alpha=opacity,
  18. color='g',
  19. label='Guido')
  20. plt.xlabel('Person')
  21. plt.ylabel('Scores')
  22. plt.title('Scores by person')
  23. plt.xticks(index + bar_width, ('A', 'B', 'C', 'D'))
  24. plt.legend()
  25. plt.tight_layout()
  26. plt.show()

输出:

Matplotlib 条形图 - 图3

Python 条形图比较

下载所有 Matplotlib 示例