20分钟
Axes 的一些方法
cla()/clear()
:清除Axes
clabel(CS, *args, **kwargs)
:为等高线添加label
。CS
:由contour
函数返回的ContourSet
,代表一组等高线fontsize
:label
的字体大小,或者给出字符串'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
提供。该方法随机挑选一些等高线绘制。X
和Y
也可以同时是一维数组,且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)
:- 如果
origin
非None
,则它给出了外边界,Z[0,0]
位于图形中间 - 如果
origin
为None
,则(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
:指定y
的error
。如果为标量,则每个点都是相同的error
;如果为一维向量,则依次给出了每个点的error
。如果是个二维向量,则依次给出了每个点的上error
和下error
xerr
:指定x
的error
。如果为标量,则每个点都是相同的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
参数,返回布尔值。所有返回True
的artist
被选中 - 如果是一个类,则返回属于该类的
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
,指定了直方图底部的纵坐标。默认为 0histtype
:直方图的类型。可以为'bar'/'barstacked'/'step'/'stepfilled'
align
:直方图每个小矩形的对齐方式。可以为'left'/'mid'/right'
orientation
:调整方向。可以为'horizontal'/'vertical'
。如果为水平则,使用barh
,同时bottom
参数设定的是左侧的横坐标值rwidth
:一个标量值,设定了直方图每个矩形的相对于默认值的宽度。如果直方图类型为step/stepfilled
,则忽略该参数。log
:布尔值。如果为True
:则x
轴使用对数坐标color
:颜色或者颜色序列,用于给直方图指定颜色label
:字符串或者字符串序列。给直方图指定标签stacked
:一个布尔值。如果为True
,则多个直方图会叠加在一起。- 其他参数设置了
Patch
的属性
- 如果绘制一个直方图,那么就是元组
学员评价