matplotlib常见函数之Params、matshow的使⽤(坐
标轴设置)
1、Params
plt(matplotlib.pyplot)使⽤rc配置⽂件来⾃定义图形的各种默认属性,称之为“rc配置”或“rc参数”。
通过rc参数可以修改默认的属性,包括窗体⼤⼩、每英⼨的点数、线条宽度、颜⾊、样式、坐标轴、坐标和⽹络属性、⽂本、字体等。rc参数存储在字典变量中,通过字典的⽅式进⾏访问。
代码:
import numpy as np
import matplotlib.pyplot as plt
###%matplotlib inline  #jupyter可以⽤,这样就不⽤plt.show()
#⽣成数据
x = np.linspace(0, 4*np.pi)
y = np.sin(x)
#设置rc参数显⽰中⽂标题
#设置字体为SimHei显⽰中⽂
#设置正常显⽰字符
plt.title('sin曲线')
#设置线条样式
#设置线条宽度
#绘制sin曲线
plt.plot(x, y, label='$sin(x)$')
plt.savefig('sin.png')
plt.show()
参数:
plt.savefig(‘plot123_2.png', dpi=200)#指定分辨率
# 默认的像素:[6.0,4.0],分辨率为100,图⽚尺⼨为 600&400
# 指定dpi=200,图⽚尺⼨为 1200*800
# 指定dpi=300,图⽚尺⼨为 1800*1200
#Interpolation/resampling即插值,是⼀种图像处理⽅法,它可以为数码图像增加或减少象素的数⽬。Params['ap'] = 'gray' # 使⽤灰度输出⽽不是彩⾊输出
plt.axis('off')  #打印图⽚的时候不显⽰坐标轴
2、matshow函数
这是⼀个绘制矩阵的函数:matplotlib.pyplot.matshow(A, fignum=None, **kwargs)
A是绘制的矩阵,⼀个矩阵元素对应⼀个图像像素。
例如:plt.matshow(Mat,  ay),cmap代表⼀种颜⾊映射⽅式。
实例:
plt.plot(A, "r-+", linewidth=2, label="train")
plt.plot(B, "b-", linewidth=3, label="val")
plt.legend(loc="upper right", fontsize=14)  # 设置位置
plt.xlabel("Training set size", fontsize=14) # 标签
plt.ylabel("RMSE", fontsize=14)
plt.axis([0, 80, 0, 3])#表⽰要显⽰图形的范围
Axes - Subplot - Axis 之间到底是个什么关系
⽤matplotlib.pyplot绘图需要知道以下⼏个概念:
画图板/画布:这是⼀个基础载体,类似实际的画图板,⽤pyplot.figure()函数创建,程序中允许创建多个画图板,具体操作的画板遵循就近原则(操作是在最近⼀次调⽤的画图板上实现),缺省条件下内部默认调⽤pyplot.figure(1)。
matplotlib中subplot图形区/绘图区:⽤来绘图的实际区域,⼀般不直接获取,直接设定⽅式为pyplot.axes([x, y, w, h]),即
axes函数直接确定了该区域在画图板/画布中的位置为x,y 尺⼨为w,h
标签区:⽤来展⽰图形相关标签的地⽅,⼀般不直接设定(未仔细研究过),该区域根据图形区进⾏扩展,与该区域有关联的函数是pyplot.xlabel()、pyplot.ylabel()、pyplot.title()等
fig = plt.figure()
plt.show()
ax1 = fig.add_subplot(211)
ax2 = fig.add_subplot(212)
⽤画板和画纸来做⽐喻的话,figure就好像是画板,是画纸的载体,但是具体画画等操作是在画纸上完成的。在pyplot中,画纸的概念对应的就是Axes/Subplot。
对⽐:
figure (1) VS figure()
figure()操作就是创建或者调⽤画图板,缺省情况下系统会创建figure(1)作为画图板。使⽤时遵循就近原则,所有画图操作是在最近⼀次调⽤的画图板上实现。
axes() VS subplot()
pyplot.axes([x, y, w, h])是⽤来在画图板上确认图形区的位置和⼤⼩的函数,x,y表⽰图形区左下⾓相对于画图板的坐
标,w,h表⽰图形区的宽⾼。(缺省时该操作在figure(1)上操作)
pyplot.subplot(abc)本质也是⽤来确认图形区在画图板上位置⼤⼩的函数,区别是该函数将画图板按a⾏b列等分,然后逐⾏编号,并选择编号为c的区域作为图形区⽤来绘图。这是⼀个axes()操作的⾼级封装,⽅便⽤户使⽤。subplot(233)表⽰2⾏3列的第3个位置(即,第1⾏第三个区域)
同时,pyplot.show()实际展⽰的区域是画图板上所有图形区的最⼩包围区,不是整个画图板,即如果仅仅调⽤了subplot(224)结果只展⽰右下⾓的4号区域,⽽不是1、2、3、4都展⽰,因此会存在⼀定的错觉。
axes() VS axis()
axes([x, y, w, h])⽤来设定图形区;
axis([x_left, x_right, y_bottom, y_top])是⽤来设置所绘制图形的视窗⼤⼩的,表⽰直接展⽰的图形是需要满⾜参数中范围的值,直观表现是绘图区实际展⽰的坐标范围。
注:axis作⽤的图形区依旧遵守就近原则。
subplot() VS plot()
subplot⽤来⽣成图形区;
plot是实际使⽤的绘图函数,类似的函数还有hist等,plot操作遵守就近原则,即作⽤在最近⼀次使⽤的图形区上。
到此这篇关于matplotlib常见函数之Params、matshow的使⽤(坐标轴设置)的⽂章就介绍到这了,更多相关matplotlib

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。