Matplotlib库常用函数总结
Matplotlib库由各种可视化类构成,内部结构复杂.
matplotlib.pyplot是绘制各类可视化图形的命令字库,相当于快捷方式.
pyplot的绘图区域
方法 | 说明 |
---|---|
plt.subplot(nrows,ncols,plot_number) | 在全局绘图区域中绘制一个分区体系,并定位到一个子绘图区域 |
绘图函数
- plt.plot(x,y,format_string,**kwargs)
- x:X轴数据,列表或数组,可选
- y:Y轴数据,列表或数组
- format_string:控制曲线的格式字符串,可选
- **kwargs:第二组或更多(x,y,format_string)
当绘制多条曲线时,各条曲线的x不能省略
format_string由颜色字符,风格字符和标记字符组成,在使用时,三种字符可自由组合使用
- format_string:控制曲线的格式字符串,可选
颜色字符种类|说明
:—|:—
‘color’|color表示颜色英文名首字母,如’r’代表红色
‘#008000’|RGB某颜色
‘0.8’|灰度值字符串
风格字符 | 说明 |
---|---|
‘-’ | 实线 |
‘–’ | 破折线 |
‘-.’ | 点划线 |
‘:’ | 虚线 |
“’” | 无线条 |
标记字符 | 说明 |
---|---|
‘.’ | 点标记 |
‘,’ | 像素标记(极小点) |
‘o’ | 实心圈点 |
‘v’ | 倒三角标记 |
‘^’ | 上三角标记 |
‘>’ | 右三角标记 |
‘<’ | 左三角标记 |
‘1’ | 下花三角标记 |
‘2’ | 上花三角标记 |
‘3’ | 左花三角标记 |
‘4’ | 右花三角标记 |
‘s’ | 实心方形标记 |
‘p’ | 实心五角标记 |
‘*’ | 星型标记 |
‘h’ | 竖六边形标记 |
‘H’ | 横六边形标记 |
‘+’ | 十字标记 |
‘x’ | x标记 |
‘D’ | 菱形标记 |
‘d’ | 瘦菱形标记 |
‘|’ | 垂直线标记 |
- **kwargs:第二组或更多(x,y,format_string)
- color:控制颜色,color=‘green’
- linestyle:线条风格,linestyle=‘dashed’
- marker:标记风格,marker=‘o’
- markerfacecolor:标记颜色,markerfacecolor=‘blue’
- markersize:标记尺寸,markersize=20
…
pyplot的中文显示
pyplot并不默认支持中文显示
- 第一种方法:rcParams字体实现:
matplotlib.rcParams['font.family']='SiHei'
#SiHei是黑体
rcParams的属性:
属性 | 说明 |
---|---|
‘font.family’ | 用于显示字体的名字 |
‘font.style’ | 字体风格,正常’normal’或斜体’italic’ |
‘font.size’ | 字体大小,整数字号或者’large’,‘x-small’ |
rcParams[‘font.family’]中文字体 | 说明 |
---|---|
‘SimHei’ | 中文黑体 |
‘Kaiti’ | 中文楷体 |
‘LiSu’ | 中文隶书 |
‘FangSong’ | 中文仿宋 |
‘YouYuan’ | 中文幼圆 |
‘STSong’ | 华文宋体 |
- 第二种方法:在有中文输出的地方增加一个属性:fontproperties:
plt.xlabel('横轴',fontproperties='SimHei',fontsize=20)
函数 | 说明 |
---|---|
plt.xlabel() | 对x轴增加文本标签 |
plt.ylabel() | 对y轴增加文本标签 |
ply.title() | 对图形整体增加文本标签 |
plt.text(x,y,text) | 在任意位置添加文本,x,y表示在坐标为(x,y)的位置增加文本 |
plt.annotate(s,xy=(x,y),xytext=(x,y), arrowprops=dict(facecolor,shrink,width)) | 在图形中增加带箭头的注解, 前一个坐标是箭头的坐标, 后一个坐标是注释的坐标 |
划分绘图区域
-
plt.subplot2grid(GridSpec,CurSpec,colspan=1,rowspan=1)
- GridSpec等同于shape,作用是将绘图板划分为n*m的网格
- CurSpec接收一个元组,即坐标,用于选择在划分出来的哪个区域绘图
- colspan表示列的延伸,表示向右延伸多少个绘图单位
- rowspan表示行的延伸,表示向下延伸多少个绘图单位
-
GridSpec类
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
gs = gridspec.GridSpec(3,3)
ax1 = plt.subplot(gs[0,:])#第一行的所有列
ax2 = plt.subplot(gs[1,:-1])#第一行的从第一列到倒数第二列
ax3 = plt.Subplot(gs[1:,-1])#第二行到最后一行的最后一列
- pyplot的基础图标函数
函数 | 说明 |
---|---|
plt.plot(x,y,fmt,…) | 绘制一个坐标图 |
plt.boxplot(data,notch,position) | 绘制一个箱型图 |
plt.bar(left,height,width,bottom) | 绘制一个条形图 |
plt.barh(width,bottom,left,height) | 绘制一个横向条形图 |
plt.polar(theta,r) | 绘制极坐标图 |
plt.pie(data,explode) | 绘制饼图(explode接收一个列表,根据列表对应数据突出各部分内容) |
plt.psd(x,NFFT=256,pad_to,Fs) | 绘制功率谱密度图 |
plt.specgram(x,NFFT=256,pad,F) | 绘制谱图 |
plt.cohere(x,y,NFFT=256,Fs) | 绘制X-Y的相关性函数 |
plt.scatter(x,y) | 绘制散点图,其中,x和y长度相同 |
plt.step(x,y,where) | 绘制步阶图 |
plt.hist(x,bins,normed) | 绘制直方图(bins表示直方图个数,当normed=1时,将数据出现次数转换成频率) |
plt.contour(X,Y,Z,N) | 绘制等值图 |
plt.vlines | 绘制垂直图 |
plt.stem(x,y,linefmt,markerfmt) | 绘制柴火图 |
plt.plot_date | 绘制数据日期 |