课程评价 (0)

请对课程作出评价:
0/300

学员评价

暂无精选评价
20分钟

Axes 的一些方法

  • cla()/clear():清除Axes
  • clabel(CS, *args, **kwargs):为等高线添加label
    • CS:由contour函数返回的ContourSet,代表一组等高线
    • fontsizelabel的字体大小,或者给出字符串'smaller'/'x-large'
    • colors:如果为None,则使用对应的等高线的颜色。如果为一个字符串指定的颜色,则所有的等高线label使用该颜色。如果为一组颜色,则不同的等高线的label按顺序使用其中的不同的颜色。
    • inline:一个布尔值。如果为True,则移除label覆盖的底层的等高线(嵌入式);否则就全部绘制(重叠式)
    • inline_spacing:一个浮点数,单位为像素点。它控制了label距离等高线的距离

  • contour(*args, **kwargs):绘制等高线。它返回一个QuadContourSet对象 最常用的四种方式:
    • contour(Z):其中 Z为二维数组。数据坐标系下的坐标点 (i,j)对应了Z[j,i]x轴对应列,y轴对应行)。该方法随机挑选一些等高线绘制。
    • contour(X,Y,Z):其中 X/Y/Z均为二维数组,且形状相同。对应位置的横坐标由 X提供,纵坐标由 Y提供,值由 Z 提供。该方法随机挑选一些等高线绘制。 XY也可以同时是一维数组,且len(X)Z的列数,len(Y)Z的行数。
    • contour(Z,N)/contour(X,Y,Z,N)N为一个整数,表示绘制N条等高线。该方法随机挑选N条等高线绘制。
    • contour(Z,V)/contour(X,Y,Z,V)V为一个递增的序列,表示绘制那些值位于V中的等高线

其他关键字参数:

  • colors:如果为None,则由cmap给出。如果是一个字符串,这所有的等高线由字符串指定的颜色给出。如果是一个序列,该序列中每个都代表了一个颜色,则等高线的颜色依次由该序列给出。
  • cmap:一个Colormap对象。如果为None,则默认的Colormap将被使用
  • levels:一个序列(升序排列)。指定了要绘制等高线值位于levels的等高线。
  • origin:参考Axes.imshow中的该参数设置。
  • extent:它是一个元组(x0,x1,y0,y1)。如果给出了(X,Y),则该参数无效。如果未给出(X,Y)
    • 如果originNone,则它给出了外边界, Z[0,0]位于图形中间
    • 如果originNone,则(x0,y0)对应Z[0,0](x1,y1)对应Z[-1.-1],等价于同时使用了set_xlim(left,right)+set_ylim(bottom,top)
  • antialiased:一个布尔值,用于开启/关闭反走样
  • linewidths:如果为None,则使用默认值。如果为一个整数,则所有的等高线都是用该线宽。如果为一个整数序列,则等高线依次使用它指定的线宽。只有contour适用
  • linestyles:如果为None,则使用默认的实线。你也可以指定为'solid'/'dashed'/'dashdot'/'dotted'。你可以指定搜有的等高线使用一种线型,也可以使用一个线型序列。只有contour适用

  • contourf(*args, **kwargs):它绘制的是带填充的等高线。其参数和用法基本和contour相同。它返回一个QuadContourSet对象
    • contourf(Z,V)/contourf(X,Y,Z,V)V是递增的序列,指定了等高线的值。该方法会填充V中相邻两个等高线之间的区域
    • contourf不同与contour的关键字参数为hatches:它指定了填充区域的填充类型(如以小斜线填充)。如果为None,则无任何hatch。它典型值为hatches=['.', '/', '\', None, '\\', '*','-',]
    • contourf填充的是半开半闭区间(z1,z2]

  • errorbar(x, y, yerr=None, xerr=None, fmt='', ecolor=None, elinewidth=None, capsize=None, barsabove=False, lolims=False, uplims=False, xlolims=False, xuplims=False, errorevery=1, capthick=None, **kwargs):绘制errorbar,返回(plotline, caplines, barlinecols)
    • x:一个序列,指定x坐标
    • y:一个序列,指定y坐标。即: y=f(x)
    • yerr:指定yerror。如果为标量,则每个点都是相同的error;如果为一维向量,则依次给出了每个点的error。如果是个二维向量,则依次给出了每个点的上error和下error
    • xerr:指定xerror。如果为标量,则每个点都是相同的error;如果为一维向量,则依次给出了每个点的error。如果是个二维向量,则依次给出了每个点的左error和右error
    • fmt:可以为空字符串,或者'none'或者其他的plot format string。如果是'none'则只有errorbars能够被绘制
    • ecolor:指定了errorbar的颜色
    • elinewidth:指定了errorbar的线宽
    • capsize:指定了errorbar头部的小横线的宽度
    • errorevery:一个整数。如果为 4, 则每隔 4个点才绘制一个errorbar
    • 其他的关键字参数都是用于指定marker的类型。如: marker='s', mfc='red', mec='green', ms=20, mew=4。他们是markderfacecolor,markeredgecolor,markdersize,markderedgewidth的缩写。

  • eventplot(positions, orientation='horizontal', lineoffsets=1, linelengths=1, linewidths=None, colors=None, linestyles='solid', **kwargs) :绘制时间线。时间线就是在指定位置上并排的一系列线段。返回 matplotlib.collections.EventCollection的一个列表
    • positions:一个一维或者二维的数组。每一行代表了一组直线
    • orientation:可以为'horizonal'|'vertical',代表了摆放时间线的方式。如果是水平走向的,则垂直摆放直线;如果是垂直走向的,则水平放置直线
    • lineoffsets:一个浮点数或者浮点数的序列,指定了时间线中轴距离y=0的偏离值
    • linelengths:一个浮点数或者浮点数的序列,指定了线的长度
    • linewidths:一个浮点数或者浮点数的序列,指定了线的宽度
    • colors:一个颜色或者一组颜色,指定了线的颜色。颜色可以为颜色字符串,或者一个RGB元组。
    • linestyles:一个线型或者一组线型,指定了线型。线型在'solid' | 'dashed' | 'dashdot' | 'dotted'四者之一

    如果positions是一个一维数组,表示绘制一组时间线。那么lineoffsets/linelengths/linewidths/colors/linestyles都是标量值,指定该组时间线的格式。如果positions是一个二维数组则,有多少行,就有多少组时间线。制定时间线格式的这些参数都是序列,序列长度就是positions的行数。

  • fill(*args, **kwargs):绘制多边形。返回一个Patch列表。其常用的方式为:
    • 绘制一个多边形: fill(x,y,'b'),其中x为多边形的边上的点的x坐标;y为多边形的边上的点的y坐标。'b'为多边形的填充颜色。
    • 绘制多个多边形: fill(x1,y1,'b',x2,y2,'r')。这里指定多个x,y,color就可以。
    • closed关键字参数:一个布尔值,确定是否封闭多边形(即多一条从起点到终点的边)。默认为True
    • plot()支持的color string在这里也被支持
    • 剩下的关键字参数用于控制Polygon的属性。如
      • hatch:一个字符串,指定填充方式,如['/' | '\' | '|' | '-' | '+' | 'x' | 'o' | 'O' | '.' | '*']
      • label:一个字符串,指定标签
      • fill:一个布尔值,决定是否填充
      • facecolor/edgecolor/color:颜色

  • fill_between(x, y1, y2=0, where=None, interpolate=False, step=None, **kwargs):绘制填充区域。它填充两个曲线之间的部分。它返回一个PolyCollection对象。
    • x:一个序列,指定x坐标
    • y1:第一条曲线的纵坐标。如果为标量,说明该曲线为水平线。
    • y2:第二条曲线的纵坐标。如果为标量,说明该曲线为水平线。
    • where:指定填充哪里。如果为None,则填充两条曲线之间的所有区域,这是默认值。如果非None,则他是一个一维布尔数组,长度与x相同。只有为True对应的x处才被填充。
    • interpolate:一个布尔值。如果True,则进行插值计算来寻找两个曲线的交点。如果为False,则不进行插值。
    • step:可以为'pre'/'post'/'mid'或者None,设定填充区域的边界的形状。

  • fill_betweenx(y, x1, x2=0, where=None, step=None, **kwargs):绘制填充区域。该区域是以y为自变量,x为函数的两条曲线合围而成。它返回一个PolyCollection对象。
    • y:一个序列,为纵坐标
    • x1:第一个曲线的x坐标。它是一个反函数,即以y为自变量
    • x2:第二个曲线的y坐标。它也是一个反函数
    • where:指定填充哪里。如果为None,则填充两条曲线之间的所有区域,这是默认值。如果非None,则他是一个一维布尔数组,长度与y相同。只有为True对应的y处才被填充。
    • step:可以为'pre'/'post'/'mid'或者None,设定填充区域的边界的形状。

    通常建议提供一个alpha参数,用于设定填充的透明度。如果同一个区域被多个fill_between()填充,那么设定alpha之后会让每一层都能显示出来。 fill_between沿着x轴填充;fill_betweenx沿着y轴填充

  • findobj(match=None, include_self=True):筛选出合适的artist对象,返回一个列表。他会递归的向下搜寻
    • match指定过滤器。
      • 如果为None,则它选出axes包含的所有artist
      • 如果为一个函数,则函数接受一个artist参数,返回布尔值。所有返回Trueartist被选中
      • 如果是一个类,则返回属于该类的artist
    • include_self:如果为True,则也检查自己
  • get_xx函数:返回对应的属性值。有: get_alpha/get_anchor/get_animated/get_aspect/get_axis_bgcolor/ get_axisbelow/get_clip_box/get_clip_path/get_frame_on/get_gid get_label/get_legend/get_lines/get_title/get_transform/get_visible get_xaxis/get_xlabel/get_xlim/get_xscale/get_xticklabels/get_yaxis...
  • grid(b=None, which='major', axis='both', **kwargs):开启关闭网格。
    • b为布尔值,指定你想开启(True)还是关闭网格
    • which:可以为'major'/'minor'/'both',指定你想开启哪个级别的网格
    • axis:可以为'x'/'y'/'both',指定你想在那个轴上开启网格
    • 其他的关键字参数设定了网格的线条类型。如color/linestype/linewidth

    还有一种简单用法,就是axes.grid(),此时表示:如果网格开启,则关闭。如果网格关闭,则开启。

  • hexbin(x, y, C=None, gridsize=100, bins=None, xscale='linear', yscale='linear', extent=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors='none', reduce_C_function=, mincnt=None, marginals=False, **kwargs):绘制hexbin。它用于同一个地方有很多点的情况,是六边形面元划分,是一种二元直方图。返回一个PolyCollection对象。
    • x/y:一维数组,它们形状相同。它们给出了绘制六边形面元的点。
    • C:如果非None,则它给出了坐标(x[i],y[i])count value。它和x长度相同,也是一维数组 x/y/C也可能是masked array,此时只有unmasked的点才被绘制
    • reduce_C_function:将坐标(x[i],y[i])count value进行归并。因为同一个坐标可能被设定了多个count value。而每个点根据其count value来染色
    • gridsize:一个整数。它调整了六边形面元x方向的尺寸,y方向的尺寸自动选取。你也可以设定它为一个元组,同时调整x/y方向的尺寸。它实际上给出的是x轴可以放置的面元数量,因此该数值越大,六边形面元尺寸越小。
    • bins
      • 如果为None,则每个六边形面元的颜色值直接对应了它的count value
      • 如果为'log',则每个六边形面元的颜色值对应了它的count value+1的对数值
      • 如果为一个整数, divide the counts in the specified number of bins, and color the hexagons accordingly
      • 如果为一个整数序列,则the values of the lower bound of the bins to be used
    • xscale:可以为'linear'/'log',设置了x轴是线性还是对数
    • scale:可以为'linear'/'log',设置了y轴是线性还是对数
    • mincnt:一个整数或者None。它指定显示这一类的面元:面元包含的坐标点的数量超过mincnt。对于面元包含坐标点数量少于mincnt的,不显示。
    • marginals:一个布尔值。如果为True,则沿着坐标轴绘制密度条。
    • extent:一个元组(left, right, bottom, top),等价于同时使用了set_xlim(left,right)+set_ylim(bottom,top)
    • 剩下的参数设定颜色和面元的属性。

  • hist(x, bins=10, range=None, normed=False, weights=None, cumulative=False, bottom=None, histtype='bar', align='mid', orientation='vertical', rwidth=None, log=False, color=None, label=None, stacked=False, **kwargs) :绘制直方图。 其返回值为:
    • 如果绘制一个直方图,那么就是元组 (n, bins, patches)n为频数/频率;bins为直方图的各个分界点;patches为每个直方图。
    • 如果绘制多个直方图,那么就是元组 ([n0, n1, ...], bins, [patches0, patches1,...])

    参数为:

    • x:一个序列或者一维数组,给定了直方图的数据
    • bins:一个整数。返回了bins+1个分界点,将竖着划分成等分的bins份。你可以传递一个序列,指定分界点,此时可以实现非等分的划分。
    • range:一个元组,给出了数据的上界和下界,在这之外的数据不被考虑。默认就是(x.min(),x.max())
    • normed:布尔值,如果为True,则返回的是数据出现的频率;否则返回的是数据出现的频数
    • weights:长度与x相同的序列,给出了每个数据的权重
    • cumulative :布尔值。如果为True,则计算的是累积频率/频数
    • bottom:一个整数或者整数序列或者None,指定了直方图底部的纵坐标。默认为 0
    • histtype:直方图的类型。可以为'bar'/'barstacked'/'step'/'stepfilled'
    • align:直方图每个小矩形的对齐方式。可以为'left'/'mid'/right'
    • orientation:调整方向。可以为'horizontal'/'vertical'。如果为水平则,使用barh,同时bottom参数设定的是左侧的横坐标值
    • rwidth:一个标量值,设定了直方图每个矩形的相对于默认值的宽度。如果直方图类型为 step/stepfilled,则忽略该参数。
    • log:布尔值。如果为True:则x轴使用对数坐标
    • color:颜色或者颜色序列,用于给直方图指定颜色
    • label:字符串或者字符串序列。给直方图指定标签
    • stacked:一个布尔值。如果为True,则多个直方图会叠加在一起。
    • 其他参数设置了Patch的属性