Matplotlib 柱形图柱形图Bar Chart是一种用矩形柱子的高度或长度来表示数据大小的统计图表是数据可视化中最基础、最常用的图表类型之一。在 Matplotlib 中柱形图主要通过两个函数实现函数方向适用场景bar()垂直柱形图常规对比最常见barh()水平柱形图类别名称较长时我们可以使用 pyplot 中的 bar() 方法来绘制柱形图。bar() 方法语法格式如下matplotlib.pyplot.bar(x, height, width0.8, bottomNone, *, aligncenter, dataNone, **kwargs)┌─────────────────────────────────────┐ │ 图表标题 (Title) │ ├─────────────────────────────────────┤ 纵轴 ↑ │ ████ ████ ████ ████ ████ │ (Y轴) │ │ ████ ████ ████ ████ ████ │ ← 柱子 (Bar) 数值 │ │ ████ ████ ████ ████ ████ │ 轴 │ │ ████ ████ ████ ████ ████ │ │ │ └──┘ └──┘ └──┘ └──┘ └──┘ │ │ │ A B C D E │ └──────┴─────────────────────────────────────→ │ 横轴 (X轴)类别 / 标签 │ └─────────────────────────────────────┘ 图例 (Legend)不同数据系列的区分标识要素说明对应 Matplotlib 参数/方法柱子核心视觉元素高度代表数值bar()返回值横轴X轴表示分类变量x参数纵轴Y轴表示数值变量height参数图表标题说明图表主题plt.title()轴标签说明横/纵轴含义plt.xlabel()/plt.ylabel()图例区分不同数据系列plt.legend()刻度标签横轴分类名称plt.xticks()/plt.yticks()网格线辅助读数plt.grid()核心参数详解参数类型说明示例xfloat / array柱子中心的 x 坐标[0,1,2,3]heightfloat / array柱子的高度数值[10,20,15,25]widthfloat柱子的宽度默认 0.8width0.5bottomfloat / array柱子底部的 y 坐标用于堆叠柱形图bottom[5,3,6,4]alignstr对齐方式center默认或edgealignedgecolorstr / list柱子填充颜色colorskyblueedgecolorstr / list柱子边框颜色edgecolorblacklinewidthfloat边框线宽linewidth1.5tick_labellist刻度标签替代 x 轴标签tick_label[A,B,C]labelstr图例标签label销售额logbool是否使用对数坐标轴logTruebar() 来创建一个柱形图:import matplotlib.pyplot as plt import numpy as np x np.array([Runoob-1, Runoob-2, Runoob-3, C-RUNOOB]) y np.array([12, 22, 6, 18]) plt.bar(x,y) plt.show()垂直方向的柱形图可以使用 barh() 方法来设置import matplotlib.pyplot as plt import numpy as np x np.array([Runoob-1, Runoob-2, Runoob-3, C-RUNOOB]) y np.array([12, 22, 6, 18]) plt.barh(x,y) plt.show()设置柱形图颜色import matplotlib.pyplot as plt import numpy as np x np.array([Runoob-1, Runoob-2, Runoob-3, C-RUNOOB]) y np.array([12, 22, 6, 18]) plt.bar(x, y, color #4CAF50) plt.show()自定义各个柱形的颜色import matplotlib.pyplot as plt import numpy as np x np.array([Runoob-1, Runoob-2, Runoob-3, C-RUNOOB]) y np.array([12, 22, 6, 18]) plt.bar(x, y, color [#4CAF50,red,hotpink,#556B2F]) plt.show()设置柱形图宽度bar()方法使用width设置barh()方法使用height设置 heightimport matplotlib.pyplot as plt import numpy as np x np.array([Runoob-1, Runoob-2, Runoob-3, C-RUNOOB]) y np.array([12, 22, 6, 18]) plt.bar(x, y, width 0.1) plt.show()import matplotlib.pyplot as plt import numpy as np x np.array([Runoob-1, Runoob-2, Runoob-3, C-RUNOOB]) y np.array([12, 22, 6, 18]) plt.barh(x, y, height 0.1) plt.show()