1、说明
之前的文章,我们通过图文的方式(如图所示),已经讲述了matplotlib的绘图原理,这个对于绘图至关重要,因此希望大家先看了那篇文章,再阅读本篇文章。“matplotlib绘图的核心原理”这篇文章的链接:文档:https://blog.csdn.net/weixin_41261833/article/details/104299701
2、图形交互性设置(jupyter notebook独有的知识)
%matplotlib notebook 弹出可交互的matplotlib窗口
%matplotlib qt5 弹出matplotlib控制台
%matplotlib inline 直接嵌入图表,不需要使用plt.show()
1)测试如下
① %matplotlib notebook和%matplotlib qt5效果一样
% matplotlib notebook plt.plot([1,2,3,4,5], [2,4,6,8,10], "g-.o")
结果如下:
② %matplotlib inline
% matplotlib inline plt.plot([1,2,3,4,5], [2,4,6,8,10], "g-.o")
结果如下:
3、中文支持等相关设置
matplotlib默认情况下不支持中文显示,如果需要显示中文,则我们需要做一些额外的设置操作。设置可以分为如下两种:
全局设置:设置一次,对所有的操作有效;
局部设置:在某一次绘图中,设置一次,仅对当前这个绘图有效;
注意:如果局部设置和全局设置都存在,则局部设置生效;
1)中文支持相关设置:全局设置
① 中文字体设置
font.family 字体的名称
sans-serif 西文字体(默认)
SimHei 中文黑体
FangSong 中文仿宋
YouYuan 中文幼圆
STSong 华文宋体
Kaiti 中文楷体
LiSu 中文隶书
代码如下:
mpl.rcParams["font.family"] = "SimHei"
② 字体风格设置
font.style 字体的风格
normal 常规(默认)
italic 斜体
oblique 倾斜
代码如下:
mpl.rcParams["font.style"] = "italic"
③ 字体大小设置(默认是10)
代码如下:
mpl.rcParams["font.size"] = 16
2)中文支持相关设置:局部设置
font = {"family":"Kaiti", "style":"oblique", "weight":"normal", "color":"green", "size": 20 } plt.title("中文", fontdict=font)
3)演示如下
import matplotlib as mpl import matplotlib.pyplot as plt # 中文字体设置 mpl.rcParams["font.family"] = "SimHei" # 字体大小设置 mpl.rcParams["font.size"] = 16 # 字体风格设置 mpl.rcParams["font.style"] = "italic" plt.plot([-3, -2], [-1, -5], "r--") plt.title("我是中文-标题")
结果如下:
结果分析:通过上述设置,我们已经可以正常显示中文。但是可以发现,图中的“-”符号并不能正常显示,这就是下面我们要讲的“-”(负号)特殊符号的相关设置。
4、"-"(负号)特殊符号的相关设置
axes.unicode_minus 是否使用Unicode的负号,在支持中文显示状态下,需要设置为False。
代码如下:
mpl.rcParams["axes.unicode_minus"] = False
演示如下:
import matplotlib as mpl import matplotlib.pyplot as plt # 中文字体设置 mpl.rcParams["font.family"] = "SimHei" # 字体大小设置 mpl.rcParams["font.size"] = 16 # 字体风格设置 mpl.rcParams["font.style"] = "italic" # "-"(负号)特殊符号设置 mpl.rcParams["axes.unicode_minus"] = False plt.plot([-3, -2], [-1, -5], "r--") plt.title("中文标题")
结果如下:
5、保存图像与读取图象设置
1)保存图像
dpi:每英寸分辨率点数。
facecolor:设置图像的背景色。
bbox_inches:设置为tight,可以紧凑保存图像,删除figure周围的空白部分
操作如下:
plt.plot([1,3,5,7],[4,9,6,8],"r-.o") plt.savefig("image1.png",dpi=100,facecolor="g",bbox_inches="tight")
结果如下:
2)读取图像
# 导入相关库 from PIL import Image # 从硬盘读取文件 image = Image.open("image1.png") # 会使用操作系统的默认图片打开器打开图片 image.show()