pyplot.subplot参数有哪些?如何理解pyplot.subplot(330+1+i)的写法
matplotlib.pyplot.subplot相关问题解答
1. pyplot.subplot的常用参数
subplot主要用于在画布上划分网格,创建单个子图,支持两种传参形式:
- 拆分参数形式:
subplot(nrows, ncols, index, **kwargs)nrows:子图网格的总行数ncols:子图网格的总列数index:当前子图的位置编号,默认从1开始计数,按从上到下、从左到右的顺序排序- 可选参数:包含
sharex/sharey(指定和其他子图共享坐标轴)、projection(指定子图投影类型)、polar(是否为极坐标子图)等样式配置项
- 三合一整数参数形式:
subplot(pos, **kwargs)pos为三位整数,百位数值对应nrows,十位数值对应ncols,个位数值对应index,例如subplot(223)等价于subplot(2,2,3),代表2行2列网格中的第3个子图。注意该形式仅适用于子图总数不超过9的场景
2. pyplot.subplot(330+1+i)的逻辑说明
你提供的代码中循环变量i的取值范围是0~8(对应range(9)的返回结果),因此330+1+i的计算结果依次为331、332...339,刚好对应上述三合一整数参数的规则:
- 331等价于
subplot(3,3,1),代表3行3列网格的第1个子图 - 332等价于
subplot(3,3,2),代表3行3列网格的第2个子图 - ...
- 339等价于
subplot(3,3,9),代表3行3列网格的第9个子图
这种写法是早期matplotlib使用中流传的简写形式,实际效果和可读性更强的subplot(3, 3, i+1)完全一致。如果子图总数超过9,就不能使用这种三位数简写的形式,必须使用拆分参数的写法。
内容的提问来源于stack exchange,提问作者godfather
相关产品推荐
相关产品推荐

