- Matplotlib 教程
- Matplotlib - 主页
- Matplotlib - 简介
- Matplotlib - 环境设置
- Matplotlib - Anaconda 分布
- Matplotlib - Jupyter 笔记本
- Matplotlib - Pyplot API
- Matplotlib - 简单绘图
- Matplotlib - PyLab 模块
- 面向对象的接口
- Matplotlib - 图形类
- Matplotlib - 轴类
- Matplotlib - 多图
- Matplotlib - Subplots() 函数
- Matplotlib - Subplot2grid() 函数
- Matplotlib - 网格
- Matplotlib - 格式化轴
- Matplotlib - 设置限制
- 设置刻度和刻度标签
- Matplotlib - 双轴
- Matplotlib - 条形图
- Matplotlib - 直方图
- Matplotlib - 饼图
- Matplotlib - 散点图
- Matplotlib - 等值线图
- Matplotlib - 箭袋图
- Matplotlib - 箱线图
- Matplotlib - 小提琴图
- 三维绘图
- Matplotlib - 3D 等高线图
- Matplotlib - 3D 线框图
- Matplotlib - 3D 曲面图
- Matplotlib - 处理文本
- 数学表达式
- Matplotlib - 处理图像
- Matplotlib - 变换
- Matplotlib 有用资源
- Matplotlib - 快速指南
- Matplotlib - 有用的资源
- Matplotlib - 讨论
Matplotlib - 条形图
条形图或条形图是用矩形条显示分类数据的图表或图形,矩形条的高度或长度与其所表示的值成比例。条形图可以垂直或水平绘制。
条形图显示离散类别之间的比较。图表的一个轴显示正在比较的特定类别,另一轴表示测量值。
Matplotlib API 提供了bar()函数,可用于 MATLAB 风格以及面向对象的 API。与坐标区对象一起使用的 bar() 函数的签名如下 -
ax.bar(x, height, width, bottom, align)
该函数使用大小为 (x −width = 2; x + width=2;bottom;bottom + height) 的边界矩形绘制条形图。
该函数的参数是 -
X | 表示条形 x 坐标的标量序列。对齐控制 x 是条形中心(默认)还是左边缘。 |
高度 | 表示条形高度的标量或标量序列。 |
宽度 | 标量或类似数组,可选。条形的宽度默认为 0.8 |
底部 | 标量或类似数组,可选。条形的 y 坐标默认为“无”。 |
对齐 | {'center', 'edge'},可选,默认'center' |
该函数返回包含所有条形图的 Matplotlib 容器对象。
以下是 Matplotlib 条形图的简单示例。它显示了就读学院提供的各种课程的学生人数。
import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_axes([0,0,1,1]) langs = ['C', 'C++', 'Java', 'Python', 'PHP'] students = [23,17,35,29,12] ax.bar(langs,students) plt.show()
当比较多个数量和更改一个变量时,我们可能需要一个条形图,其中一种颜色的条形代表一个数量值。
我们可以通过调整条形的厚度和位置来绘制多个条形图。数据变量包含三个系列,每组四个值。以下脚本将显示三个由四个条形组成的条形图。条形的厚度为 0.25 个单位。每个条形图将比前一个移动 0.25 个单位。该数据对象是一个多重字典,包含过去四年中通过工程学院三个分校的学生人数。
import numpy as np import matplotlib.pyplot as plt data = [[30, 25, 50, 20], [40, 23, 51, 17], [35, 22, 45, 19]] X = np.arange(4) fig = plt.figure() ax = fig.add_axes([0,0,1,1]) ax.bar(X + 0.00, data[0], color = 'b', width = 0.25) ax.bar(X + 0.25, data[1], color = 'g', width = 0.25) ax.bar(X + 0.50, data[2], color = 'r', width = 0.25)
堆叠条形图将代表不同组的条形堆叠在一起。结果条的高度显示各组的组合结果。
pyplot.bar()函数的可选底部参数允许您指定条形的起始值。不是从零跑到某个值,而是从底部跑到该值。第一次调用 pyplot.bar() 绘制蓝色条。第二次调用 pyplot.bar() 绘制红色条,蓝色条的底部位于红色条的顶部。
import numpy as np import matplotlib.pyplot as plt N = 5 menMeans = (20, 35, 30, 35, 27) womenMeans = (25, 32, 34, 20, 25) ind = np.arange(N) # the x locations for the groups width = 0.35 fig = plt.figure() ax = fig.add_axes([0,0,1,1]) ax.bar(ind, menMeans, width, color='r') ax.bar(ind, womenMeans, width,bottom=menMeans, color='b') ax.set_ylabel('Scores') ax.set_title('Scores by group and gender') ax.set_xticks(ind, ('G1', 'G2', 'G3', 'G4', 'G5')) ax.set_yticks(np.arange(0, 81, 10)) ax.legend(labels=['Men', 'Women']) plt.show()