转自:https://blog.csdn.net/qq_30815237/article/details/87903024

1、plt.rcParams

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.rcParams['font.sans-serif'] = 'SimHei'

#设置正常显示字符

plt.rcParams['axes.unicode_minus'] = False

plt.title('sin曲线')

#设置线条样式

plt.rcParams['lines.linestyle'] = '-.'

#设置线条宽度

plt.rcParams['lines.linewidth'] = 3

#绘制sin曲线

plt.plot(x, y, label='$sin(x)$')

plt.savefig('sin.png')

plt.show()

参数:

plt.rcParams['savefig.dpi'] = 300 #图片像素

plt.rcParams['figure.dpi'] = 300 #分辨率

plt.savefig(‘plot123_2.png’, dpi=200)#指定分辨率

# 默认的像素:[6.0,4.0],分辨率为100,图片尺寸为 600&400

# 指定dpi=200,图片尺寸为 1200*800

# 指定dpi=300,图片尺寸为 1800*1200

plt.rcParams['figure.figsize'] = (8.0, 4.0) # 图像显示大小

plt.rcParams['image.interpolation'] = 'nearest' # 最近邻差值: 像素为正方形

#Interpolation/resampling即插值,是一种图像处理方法,它可以为数码图像增加或减少象素的数目。

plt.rcParams['image.cmap'] = 'gray' # 使用灰度输出而不是彩色输出

plt.axis('off') #打印图片的时候不显示坐标轴

2、matshow函数

这是一个绘制矩阵的函数:matplotlib.pyplot.matshow(A, fignum=None, **kwargs)

A是绘制的矩阵,一个矩阵元素对应一个图像像素。

例如:plt.matshow(Mat,  cmap=plt.cm.gray),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])#表示要显示图形的范围

plt.xticks(np.arange(0, 81, step=20))#设置刻度

plt.yticks(np.arange(0, 4, step=1))

Axes - Subplot - Axis 之间到底是个什么关系

用matplotlib.pyplot绘图需要知道以下几个概念:

画图板/画布:这是一个基础载体,类似实际的画图板,用pyplot.figure()函数创建,程序中允许创建多个画图板,具体操作的画板遵循就近原则(操作是在最近一次调用的画图板上实现),缺省条件下内部默认调用pyplot.figure(1)。

图形区/绘图区:用来绘图的实际区域,一般不直接获取,直接设定方式为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操作遵守就近原则,即作用在最近一次使用的图形区上。

from:https://blog.csdn.net/JasonZhu_csdn/article/details/85860963

官网:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.html

转自:https://wangyeming.github.io/2018/11/07/matplot-cmap/

画图离不开色彩--说说matplot的cmap

一张好看的图,离不开各种各样的颜色。在matplot中,有一个cmap的概念,通过cmap,我们可以很方便的给多组数据自动分配色彩,画出很好看的图。这篇文章就简单介绍下cmap的概念和用法。

cmap是什么

cmap也就是colormap,可以理解为接受一个数值,输出一个指定的颜色的字典。下面这张图就展示了常见的一些cmap。

可以点击matplot cmap这里,里面有一个demo示例,会画一个包含matplot中所有cmap的图。

这里常见的cmap有:

纯色渐变系列:

比如说画灰度图的话,可以选择Greys这个cmap。

如何在画图中使用cmap

import matplotlib.pyplot as plt

import numpy as np

n = 1024 # data size

X = np.random.normal(0, 1, n) # 每一个点的X值,平均数是0,方差是1

Y = np.random.normal(0, 1, n) # 每一个点的Y值

# 这里我们每个点的颜色和该点的X值+Y值的和相关

color = X + Y

# 使用我们上面说的灰度图

cmap = plt.get_cmap('Greys')

# cmap = plt.cm.Greys #也可以这么写

# 利用normlize来标准化颜色的值

norm = plt.Normalize(vmin=-3, vmax=3)

# 散点图

plt.scatter(X, Y, s=75, alpha=0.5, c=color, cmap=cmap, norm=norm)

plt.xlim(-1.5, 1.5)

plt.xticks(()) # ignore xticks

plt.ylim(-1.5, 1.5)

plt.yticks(()) # ignore yticks

plt.show()

其中,我们用到了matplotlib.colors.Normalize类,比如说我们的颜色对应的值取值范围在[-10, 10]之间和[-1,1]之间肯定是不能套用同一个转换标准的,通过Normalize标准化,我们可以很方便的将我们的实际值合适的分布到color map上。

我们讲colormap换成

cmap = plt.get_cmap('Spectral')

画出来的图的颜色就是下面这样的:

cmap参数 plt_[转]matplotlib - plt.rcParams、matshow/cmap/坐标轴设置相关推荐

  1. Python 之 matplotlib plt.rcParams[]

    python有一个绘图库matplotlib,在使用它的时候有时候会无法显示中文,或者坐标轴的正负号无法显示,.原因就是这个绘图库里没有中文字体. 在anaconda里,对应的matplotlib的字 ...

  2. cmap参数 plt_小坑记录:get_cmap参数区分大小写-阿里云开发者社区

    小坑记录: plt.cm.get_cmap('spectral', 10) File "C:\Users\sanye\AppData\Local\Programs\Python\Python ...

  3. python中的plt.rcParams

    python中的matplotlib plt.rcParams # 生成数据 x = np.linspace(0, 4*np.pi) y = np.sin(x)plt.rcParams['figure ...

  4. matplotlib常见函数- plt.rcParams、matshow/坐标轴设置

    1.plt.rcParams plt(matplotlib.pyplot)使用rc配置文件来自定义图形的各种默认属性,称之为"rc配置"或"rc参数". 通过r ...

  5. matplotlib中文乱码解决及plt.rcParams参数的使用

    问题描述 在使用matplotlib绘图时,常常要求图例使用中文,而若直接使用plt.title('中文')或plt.xlabel('中文')时,中文可能会出现下面的小方块 解决方法 快速解决方法 在 ...

  6. show函数的作用是什么python_matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置)...

    1.plt.rcParams plt(matplotlib.pyplot)使用rc配置文件来自定义图形的各种默认属性,称之为"rc配置"或"rc参数". 通过r ...

  7. python中show函数的用法_matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置)...

    1.plt.rcParams plt(matplotlib.pyplot)使用rc配置文件来自定义图形的各种默认属性,称之为"rc配置"或"rc参数". 通过r ...

  8. plt.rcParams[]参数解释

    plt.rcParams[] pylot使用rc配置文件来自定义图形的各种默认属性,称之为rc配置或rc参数.通过rc参数可以修改默认的属性,包括窗体大小.每英寸的点数.线条宽度.颜色.样式.坐标轴. ...

  9. python入门——matplotlib画图,plt.rcParams处理图像中汉字、

    开头加入两行代码即可 #设置字体为SimHei显示中文 plt.rcParams['font.sans-serif'] = ['SimHei'] #设置正常显示字符 plt.rcParams['axe ...

最新文章

  1. 移动语义(move semantic)和完美转发(perfect forward)
  2. 七边形简单画法步骤图_眼线笔的画法步骤图
  3. linux生成图片快捷方式,在Deepin Linux系统下给AppImage格式软件创建快捷方式的方法...
  4. IntelliJ IDEA 2014 付费版 免费版比较
  5. 在MVC3中使用code first生成数据局库并操作数据库
  6. orika java_使用orika进行对象间Mapping
  7. Autodesk正在招聘Civil、Infraworks金牌支持工程师(Premium Support Specialist)
  8. win11 edge怎么卸载?win11 edge浏览器彻底卸载的方法教程
  9. Permission denied: user=10273, access=WRITE, inode=“/cou/jd_phone_list“:root:supergroup:-rw-r--r--
  10. php实现word文档在线浏览功能,配置安装手记
  11. RGB颜色转换为16进制颜色
  12. Transitive attribute传递属性
  13. 抱怨,就是在吸引不幸
  14. Scaling Instruction-Finetuned Language Models翻译
  15. 酷友观点/经验:iphone 5\6\6p各尺寸参照图(原创)
  16. 安卓内部存储之数据库存储
  17. 手写表单及h5表单验证举例
  18. C++ 结构体、成员函数、结构体指针的使用
  19. v中国质子交换膜行业发展动态与供需前景预测报告2022-2027
  20. 简单线性回归问题——线性模型【蒙哥马利】第二章部分课后习题代码

热门文章

  1. 阿里妈妈技术团队5篇论文入选 KDD 2022
  2. 8.17.6. Constructing Ranges
  3. Android自定义按钮样式
  4. 修建道路(最小生成树)
  5. 如何在iPad上使用VScode
  6. android手机用户,ZDC:2011年Android手机用户使用行为研究报告
  7. 程序员撩妹专用~~~好看的H5立方体创意相册,资源免费!!!程序员送给女孩子的礼物,非常适合送给小姐姐!
  8. 考研最易出现的几种心理状态,让人崩溃!
  9. 白苹果了怎么办_iOS 13如何降级?iOS13降级失败怎么办?
  10. python判断是否有重复单词_Python判断两个单词的相似度