做网站充值犯法吗,网站开展营销的思路和方法,公司创建流程,专业格泰建站Python3 matplotlib的绘图函数subplot()简介 一、简介 matplotlib下, 一个 Figure 对象可以包含多个子图(Axes), 可以使用 subplot() 快速绘制, 其调用形式如下 : subplot(numRows, numCols, plotNum) 图表的整个绘图区域被分成 numRows 行和 numCols 列 然后按照从左到右从上到下的顺序对每个子区域进行编号左上的子区域的编号为1 plotNum 参数指定创建的 Axes 对象所在的区域 如果 numRows 2, numCols 3, 那整个绘制图表样式为 2X3 的图片区域, 用坐标表示为: (1, 1), (1, 2), (1, 3)
(2, 1), (2, 2), (2, 3) 这时, 当 plotNum 3 时, 表示的坐标为(1, 3), 即第一行第三列的子图 如果 numRows, numCols 和 plotNum 这三个数都小于 10 的话, 可以把它们缩写为一个整数, 例如 subplot(323) 和 subplot(3,2,3) 是相同的. subplot在 plotNum 指定的区域中创建一个轴对象. 如果新创建的轴和之前创建的轴重叠的话之前的轴将被删除. 二、参数说明 1subplots参数 matplotlib.pyplot.subplots(nrows1, ncols1, sharexFalse, shareyFalse, squeezeTrue, subplot_kwNone, gridspec_kwNone, **fig_kw) 创建一个画像(figure)和一组子图(subplots)。这个实用程序包装器可以方便地在单个调用中创建子图的公共布局包括封闭的图形对象。输入参数说明 nrows,ncols整型可选参数默认为1。表示子图网格(grid)的行数与列数。 sharex,sharey布尔值或者{none,all,row,col}默认False 控制x(sharex)或y(sharey)轴之间的属性共享 1.True或者allx或y轴属性将在所有子图(subplots)中共享. 2.False或none每个子图的x或y轴都是独立的部分 3.row每个子图在一个x或y轴共享行(row) 4.col:每个子图在一个x或y轴共享列(column) 当子图在x轴有一个共享列时(col),只有底部子图的x tick标记是可视的。 同理当子图在y轴有一个共享行时(row),只有第一列子图的y tick标记是可视的。 squeeze布尔类型可选参数默认True。 * 如果是True额外的维度从返回的Axes(轴)对象中挤出。 》如果只有一个子图被构建(nrowsncols1)结果是单个Axes对象作为标量被返回。 》对于N*1或1*N个子图返回一个1维数组。 》对于N*MN1和M1返回一个2维数组。 *如果是False不进行挤压操作返回一个元素为Axes实例的2维数组即使它最终是1x1。 subplot_kw:字典类型可选参数。把字典的关键字传递给add_subplot()来创建每个子图。 gridspec_kw字典类型可选参数。把字典的关键字传递给GridSpec构造函数创建子图放在网格里(grid)。 **fig_kw把所有详细的关键字参数传给figure()函数 返回结果 figmatplotlib.figure.Figure对象 axAxes(轴)对象或Axes(轴)对象数组。 2figure参数 matplotlib.pyplot.figure(numNone, figsizeNone, dpiNone, facecolorNone, edgecolorNone, frameonTrue, FigureClassclass matplotlib.figure.Figure, clearFalse, **kwargs) 创建一个新的画布(figure)。输入参数 num整型或者字符串可选参数默认None。 如果不提供该参数一个新的画布(figure)将被创建而且画布数量将会增加。 如果提供该参数带有id的画布是已经存在的激活该画布并返回该画布的引用。 如果这个画布不存在创建并返回画布实例。 如果num是字符串窗口标题将被设置为该图的数字。 figsize整型元组可选参数 默认None。 每英寸的宽度和高度。如果不提供默认值是figure.figsize。 dpi整型可选参数默认None。每英寸像素点。如果不提供默认是figure.dpi。 facecolor背景色。如果不提供默认值figure.facecolor。 edgecolor边界颜色。如果不提供默认值figure.edgecolor。 framemon布尔类型可选参数默认值True。如果是False禁止绘制画图框。 FigureClass源于matplotlib.figure.Figure的类。可选使用自定义图实例。 clear布尔类型可选参数默认值False。如果为True和figure已经存在时这是清理掉改图。返回值 figureFigure。返回的Figure实例也将被传递给后端的new_figure_manager这允许将自定义的图类挂接到pylab接口中。 附加的kwarg将被传递给图形init函数。 三、示例 1规则划分成3*3 代码 import matplotlib
import matplotlib.pyplot as pltif __name__ __main__:for i,color in enumerate(rgby):plt.subplot(221i, facecolorcolor) #背景色设置facecolorplt.show() 效果 2不规则划分 不规则划分 将整个表按照 2*2 划分 前两个简单, 分别是 (2, 2, 1) 和 (2, 2, 2) 但是第三个图呢, 他占用了 (2, 2, 3) 和 (2, 2, 4) 显示需要对其重新划分, 按照 2 * 1 划分 前两个图占用了 (2, 1, 1) 的位置 因此第三个图占用了 (2, 1, 2) 的位置 代码 import matplotlib.pyplot as plt
import numpy as npdef f(t):return np.exp(-t) * np.cos(2 * np.pi * t)if __name__ __main__ :t1 np.arange(0, 5, 0.1)t2 np.arange(0, 5, 0.02)plt.figure(12)plt.subplot(221)plt.plot(t1, f(t1), bo, t2, f(t2), r--)plt.subplot(222)plt.plot(t2, np.cos(2 * np.pi * t2), r--)plt.subplot(212)plt.plot([1, 2, 3, 4], [1, 4, 9, 16])plt.show() 效果 转载于:https://www.cnblogs.com/lizm166/p/9667923.html