pythonpyplot⽤法_Matplotlib.pyplot常⽤⽅法2.2、hold属性
hold属性默认为True,允许在⼀幅图中绘制多个曲线;将hold属性修改为False,每⼀个plot都会覆盖前⾯的plot。
但是⽬前不推荐去动hold这个属性,这种做法(会有警告)。因此使⽤默认设置即可。
2.3、⽹格线
grid⽅法
使⽤grid⽅法为图添加⽹格线
设置grid参数(参数与plot函数相同)
.lw代表linewidth,线的粗细
.alpha表⽰线的明暗程度
2.4、axis⽅法
如果axis⽅法没有任何参数,则返回当前坐标轴的上下限
2.5、xlim⽅法和ylim⽅法
除了plt.axis⽅法,还可以通过xlim,ylim⽅法设置坐标轴范围
3、配置属性
Matplotlib.plt是⾯向对象的绘图库,可以为每个对象配置它们的属性,有三个⽅法:
对象的set_属性名()
对象的set()
pylot模块提供的setp()函数
如下例⼦:matplotlib中subplot
plt.figure()
line= plt.plot(range(5))[0] #plot函数返回的是⼀个列表,因为可以同时画多条线的哦;
line.set_color('r')
line.set_linewidth(2.0)
plt.show()>>>>>>>#
plt.figure()
line= plt.plot(range(5))[0]         #plot函数返回的是⼀个列表,因为可以同时画多条线;
line.set(color = 'g',linewidth = 2.0)
plt.show()>>>>>>>#
plt.figure()
lines= plt.plot(range(5),range(5),range(5),range(8,13)) #plot函数返回⼀个列表;
plt.setp(lines, color = 'g',linewidth = 2.0) #setp函数可以对多条线进⾏设置的;
plt.show()
获取属性:
⼀个是通过对象的⽅法get_属性名()函数,
⼀个是通过pylot模块提供的getp()函数。
getp()有两个调⽤⽅法,⼀个是只有要的查看的对象⼀个参数,⼀个是要查看的对象现属性两个参数;如:
#getp(obj, property=None)
4、Artist 对象
matplotlib API包含有三层:
backend_bases.FigureCanvas : 图表的绘制领域
backend_bases.Renderer : 知道如何在FigureCanvas上如何绘图
artist.Artist : 知道如何使⽤Renderer在FigureCanvas上绘图
FigureCanvas和Renderer需要处理底层的绘图操作,例如使⽤wxPython在界⾯上绘图,或者使⽤PostScript绘制PDF。Artist则处理所有的⾼层结构,例如处理图表、
⽂字和曲线等的绘制和布局。通常我们只和Artist打交道,⽽不需要关⼼底层的绘制细节。
Artists分为简单类型和容器类型两种。简单类型的Artists为标准的绘图元件,例如Line2D、 Rectangle、 Text、AxesImage 等等。⽽容器类型则可以包含许多简单类型的Artists,
使它们组织成⼀个整体,例如Axis、 Axes、Figure等。
直接使⽤Artists创建图表的标准流程如下:
创建Figure对象
⽤Figure对象创建⼀个或者多个Axes或者Subplot对象
调⽤Axies等对象的⽅法创建各种简单类型的Artists
4.1、Artist 对象
Artist对象共分为简单类型和容器类型两种哦。
下⾯是⼀个简单Artist对象的创建过程:
importmatplotlib.pyplot as pltimportnumpy as np
fig= plt.figure(1) #创建了⼀个figure对象;
#figure对象的add_axes()可以在其中创建⼀个axes对象,#add_axes()的参数为⼀个形如[left, bottom, width, height]的列表,取值范围在0与1之间;#我们把它放在了figure图形的上半部分,对应参数分别为:left, bottom, width, height;
ax = fig.add_axes([0.1, 0.5, 0.8, 0.5])
ax.set_xlabel('x') #⽤axes对象的set_xlabel函数来设置它的xlabel
ax.set_ylabel('y')
line=ax.plot(range(5))[0] #⽤axes对象的plot()进⾏绘图,它返回⼀个Line2D的对象;
line.set_color('g') #再调⽤Line2D的对象的set_color函数设置color的属性;
plt.show()
输出图形:
5、figure 容器
在构成图表的各种Artist对象中,最上层的Artist对象是Figure。我们可以调⽤add_subplot()与add_axes()⽅法向图表中添加⼦图,它们分加到figure的axes的属性列表中。
add_subplot()与add_axes()返回新创建的axes对象,分别为axesSuubplot与axes, axesSuubplot为 axes的派⽣类。另外,可以通过delaxes()⽅法来删除哦;
figure对象可以有⾃⼰的简单的artist对象。
下⾯列出Figure对象中包含的其他Artist对象的属性:
axes:Axes对象列表;
patch:作为背景的Rectangle对象;
images:FigureImage对象列表,⽤于显⽰图像;
legends:Legend 对象列表,⽤于显⽰图⽰;
lines:Line2D对象列表;
patches:Patch对象列表;
texts:Text 对象列表,⽤于显⽰⽂字;
6、axes 容器
它是整个matplotlib的核⼼,它包含了组成图表的众多的artist对象。并且有很多⽅法。我们常⽤的Line2D啦,Xaxis,YAxis等都是它的属性哦;可以通过这个对象的属性来设置坐标轴的label,
范围啦等之类的。⼲脆直接⽤p()查看它的属性,然后通过set_属性名()函数来设置就好啦。
7、axis 容器
axis容器包括了坐标轴上的刻度线、刻度标签等、坐标⽹络等内容。
坐标轴上的每个刻度包括刻度线(ticklines)、刻度标签(ticklabels)、刻度位置(ticklocs)。
例⼦:
importnumpy as npimportmatplotlib.pyplot as plt#通过axis来更改坐标轴
plt.plot([1,2,3],[4,5,6])#gca()获取当前的axes绘图区域,调⽤gcf()来获得当前的figure
axis =a().xaxis
<_ticklocs()#得到刻度位置;
<_ticklabels() #得到刻度标签;
<_ticklines() #得到刻度线;
<_ticklines(minor = True) #得到次刻度线; 举个例⼦:就像我们的尺⼦上的厘⽶的为主刻度线,毫⽶的为次刻度线;
for _ticklabels():
label.set_color('blue') #设置每个刻度标签的颜⾊;
label.set_rotation(90) #旋转45度;
label.set_fontsize(16) #设置字体⼤⼩;
for _ticklines():
line.set_color('green')
line.set_markersize(3) #设置刻度线的长短;
line.set_markeredgewidth(2) #设置线的粗细
plt.show()
运⾏结果:
pyplot函数提供了两个绘制⽂字的函数:text()和figtext()。它们分别调⽤了当前的Axes对象与当前的Figure对象的text()⽅法进⾏绘制⽂字。
text()默认在数字坐标系(就是axes在的坐标系,⽤坐标轴的数字来表⽰坐标)中画, figtext()默认在图表坐标系(就是figure在图表中,坐标范围从0 到 1 )中画,
简单的调⽤:
<(1, 1, ‘hello,world’, color = ‘bule’) #还可以写更多参数的;
plt.figtexe(0.1, 0.8 ,”i am in figure’, color = ‘green’)
8、常⽤函数
plot()
可以画出很简单线图,基本⽤法:
lot(x, y) # 画出横轴为x与纵轴为y的图,使⽤默认的线形与颜⾊;
plot(x, y, 'bo') # ⽤蓝⾊,且点的标记⽤⼩圆,下⾯会解释哦
plot(y) # 纵轴⽤y ,横轴⽤y的每个元素的坐标,即0,1,2……
plot(y, 'r+') # 如果其中x或y 为2D的,则会⽤它的相应的每列来表⽰(注意是每列)
plot(x1, y1, 'g^', x2, y2, 'g-') #可以使⽤多对的x, y, format 对当作变量的,把它们画⼀个图⾥;
对于参数中,常⽤的format:线的颜⾊、线的形状、点的标记形状,我们⽤这三个的时候经常⽤缩写,它们之间的顺序怎么都可以,
如它俩⼀个意思:’r+–’、’+–r’。如果我们不想缩写的话,可以分别写成如: color=’green’, linestyle=’dashed’,
marker=’o’。
线的形状:
‘-’ solid line style
‘–’ dashed line style
‘-.’ dash-dot line style
‘:’ dotted line style
点的标记:
‘.’ point marker
‘,’ pixel marker
‘o’ circle marker
‘v’ triangle_down marker
‘^’ triangle_up marker
‘>’ triangle_right marker
‘1’ tri_down marker
‘2’ tri_up marker
‘3’ tri_left marker
‘4’ tri_right marker
‘s’ square marker
‘p’ pentagon marker
‘*’ star marker
‘h’ hexagon1 marker
‘H’ hexagon2 marker
‘+’ plus marker
‘x’ x marker
‘D’ diamond marker
‘d’ thin_diamond marker
‘|’ vline marker
‘_’ hline marker
线的颜⾊:
‘b’ blue
‘g’ green
‘r’ red
‘c’ cyan
‘m’ magenta
‘y’ yellow
‘k’ black
‘w’ white
常见线的属性有:color,labor,linewidth,linestyle,maker,等,参考:lines–matplotlib。
显⽰正弦曲线
importnumpy as npimportmatplotlib.pyplot as plt
plt.figure('正弦曲线') #调⽤figure函数创建figure(1)对象,可以省略,这样那plot时,它就⾃动建⼀个啦;
t= np.arange(0.0, 4.0, 0.1)
s= np.sin(np.pi*t)
plt.plot(t, s,'g--o', label = 'sinx')
plt.legend()#显⽰右上⾓的那个label,即上⾯的label = 'sinx'
plt.xlabel('time (s)') #设置x轴的label,pyplot模块提供了很直接的⽅法,内部也是调⽤的上⾯当然讲述的⾯向对象的⽅式来设置;plt.ylabel('voltage (mV)') #设置y轴的label;#plt.xlim(-1,3) # 可以⾃⼰设置x轴的坐标的范围哦;#plt.ylim(-1.5,1.5)

发表评论