使用matplotlib.pyplot绘图笔记


title: 使用matplotlib.pyplot绘图笔记

一、前言

刚刚接触机器学习没多久,最近在忙着做一个图像处理的项目,在超参数选择和模型评估的时候为了更直观的选择出好的模型和超参数信息需要用到绘图工具,故而需要学习使用matplotlib库中的接口函数进行学习,以此笔记进行记录便于日后学习。

特注:本笔记参考了以下网址内容进行学习,仅为个人学习需要并不用于任何商业通途

NumPy Matplotlib | 菜鸟教程 (runoob.com)

matplotlib.pyplot的使用总结大全(入门加进阶) - 知乎 (zhihu.com)

Matplotlib基础教程 - 简书 (jianshu.com)

二、正文
1.字体设置(全局设置和局部设置)
# rcParams的属性
font.family   字体样式 'SimHei' 黑体\'Kaiti' 楷体\ 'LiSu' 隶书\ 'FangSong' 仿宋\ 'STSong' 宋体 等
font.style   字体风格 'normal'正常\'italic'斜体
font.size    字体大小
# 例:
plt.rcParams["font.family"]="SimHei"   #设置字体为中文黑体

# 局部设置:在需要设置中文字体的函数中添加属性fontproperties设置字体样式,内容同上
fontproperties='SimHei'
2.常用接口函数
1)gridspec.GridSpec():设置网格
import matplotlib.gridspec as gridspec  # 导包
def __init__(self, nrows, ncols, figure=None,
                 left=None, bottom=None, right=None, top=None,
                 wspace=None, hspace=None,
                 width_ratios=None, height_ratios=None):
nrows: 分格行数
ncols: 分格列数
figure:画布名称
left,right,top,bottom: 默认即可
wspace,hspace:列间距和行间距,一般默认即可
2) figure():创建一个画布
def figure(num=None,  # autoincrement if None, else integer from 1-N
           figsize=None,  # defaults to rc figure.figsize
           dpi=None,  # defaults to rc figure.dpi
           facecolor=None,  # defaults to rc figure.facecolor
           edgecolor=None,  # defaults to rc figure.edgecolor
           frameon=True,
           FigureClass=Figure,
           clear=False,
           **kwargs
           ):
# 参数:
num: 画布的唯一标识符,可以为intstr
figsize: 画布的大小,英寸为单位  (float,float)
dpi: 画布的分辨率,较少使用
facecolor: 画布的背景色
edgecolor: 画布的边界颜色
frameon=True:默认为True,如果为false则禁止绘画图形框架
clear=False: 默认为False,如果为True当图形已经存在时就会清除原画布
    
# 返回值
返回值为一个画布对象,可以调用接口函数add_subplot()向画布中添加图表等
3)添加子图
add_subplot(self, *args, **kwargs)*arg:包括 rows、cols、index分别表示网格的行、列、以及添加子图的index
其余参数见官方文档
注意:add_subplot的返回值是一个子图的对象,子图可以调用scatter、plot、bar等函数画图

# 使用范例
gs = gsp.GridSpec(nrows=5,ncols=5,right=1)
fig1=plt.figure(num=1,frameon=False)
ax=fig1.add_subplot(gs[0:1,:])   # 使用gs设定网格
ax.plot([1,2,3,4],[1,2,3,4])
fig2 = plt.figure(num=1)
plt.show()
4)图像微调(在子图对象上实现微调)
# 设置刻度范围
ax.set_xlim()
ax.set_ylim()

# 设置显示的刻度
ax.set_xticks()
ax.set_yticks()

# 设置刻度标签
ax.set_xticklabels()
ax.set_yticklabels()

# 设置刻度
ax.tick_params()
# 参数:
length: 刻度线长度,上面图里的刻度线长度,我设置的为6
color: 刻度线颜色,上面图里的刻度线颜色,我设置的为“r”
width: 刻度线宽度
pad: 刻度线与刻度标签之间的间隔
bottom, top, left, right四个参数对应四个边框,它们的取值为布尔类型,True 表示显示对应边框上的刻度线,False,代表不显示,默认True
labelbottom, labeltop, labelleft, labelright,与上面四个对应,代表的是四个边框上的类标的设置,取值为布尔类型,True代表显示对应边框上的类标,False代表不显示。
labelsize:类标大小的设置参数,可取浮点型数值,也可去"medium","large","small"
labelrotation:旋转类标一定的角度,与在set_xticklabels()中的参数rotation作用相同。
# ---------------------范例代码-----------------
#设置刻度范围
ax.set_xlim(1,7.1)#x轴从1到7.1
ax.set_ylim(40,100)#y轴从40到100

#设置显示的刻度
ax.set_xticks(np.linspace(1,7,7))#np.linspace()函数为等差数列,1至7的7个数组成的等差数列1,2,3,4,5,6,7,
ax.set_yticks(np.linspace(50,100,6))#关于等差数列,想了解的可以参看numpy的用法

#设置刻度标签
ax.set_xticklabels(["星期一","星期二","星期三","星期四","星期五","星期六","星期日"],fontproperties="SimHei"\
,fontsize=12)
#这里用到了属性fontproperties可以单独设置x轴标签的字体,也可以用fontsize设置字体大小,还可以用color
 设置字的颜色
ax.set_yticklebels(["50kg","60kg","70kg","80kg","90kg","100kg"],fontsize=12)
# ---------------------范例代码结束-----------------

# 设置标签
ax.set_xlabel()
ax.set_ylabel()
# 设置标题
ax.set_title()

# 参数:
fontsize:默认12,可选参数还有['xx-small', 'x-small', 'small', 'medium', 'large','x-large', 'xx-large']
backgroundcolor:背景颜色
fontweight:字体粗细,可选参数为['light', 'normal', 'medium', 'semibold', 'bold', 'heavy', 'black']
color:字体颜色
fontstyle:设置字体类型,可选参数[ 'normal' | 'italic' | 'oblique' ],italic斜体,oblique倾斜
verticalalignment:设置水平对齐方式 ,可选参数 : 'center' , 'top' , 'bottom' ,'baseline'

# 添加图例
ax.legend()
# 参数
loc:可取"best",1或者"upper right",2"upper left",3"lower left",4"lower right",代表放不同位置
fontsize: intfloat{‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’},字体大小
shadow: 是否为图例边框添加阴影
labelspacing: 图例中条目之间的距离
handlelength: 图例句柄的长度
5) plot()绘制坐标图
plt.plot(x, y, format_string, **kwargs)
x : X轴数据,列表或数组,可选
y : Y轴数据,列表或数组
format_string: 控制曲线的格式字符串,由颜色字符、风格字符和标记字符组成,可选
**kwargs : 第二组或更多(x,y,format_string)

颜色字符:

在这里插入图片描述

风格字符:

在这里插入图片描述

标记字符:
在这里插入图片描述

6)常见的图例接口函数

在这里插入图片描述

7)图片保存
# 此段函数应写在show()函数之前
plt.savefig("figure.jpg")#我这里填的是相对路径,如果想保存在指定文件夹下,填写绝对路径。

739)]

6)常见的图例接口函数

[外链图片转存中…(img-RYs6jJNp-1641818284740)]

7)图片保存
# 此段函数应写在show()函数之前
plt.savefig("figure.jpg")#我这里填的是相对路径,如果想保存在指定文件夹下,填写绝对路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值