Matplotlib是数据可视化的基础,可以用来绘制线图、散点图、等高线图、条形图、柱状图、3D 图形、甚至是图形动画等 matplotlib.pyplot是绘制各类可视化图形的命令子库,相当于快捷方式。
导入方式
import matplotlib.pyplot as plt
英文释义
英文 | 汉语 |
---|---|
plot | n情节;v绘制表格,密谋 |
grid | 网格 |
tick | 标记,刻度 |
axis | 轴 |
axes | 轴的复数形式,坐标系,区域 |
几个对象的关系
figure相当于画板,axis就是一幅图的两个轴,axes就是两个轴围成的区域,这个有时也会翻译成坐标系。一个画板可以有多个区域(每个区域上都有对的画),每个区域都对应着两个轴。
一般网上的教程都是直接使用plt.XXX来直接画图,实际上这是一种简便的方式,也容易让人迷糊,plt操作的figure和axes默认是针对当前的figure和axis。这并不容易理解,所以我们就按照fig.XXX和ax.XXX去操作。
基础设置
1、中文显示
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
设置了中文显示之后,负号就不能正常显示了,所以需要加第二行代码。
2、恢复rc设置
plt.rcdefaults()
3、图像显示在窗口中
打开一个窗口显示图片,并且可以缩放图片,还可以保存高清png图片
%matplotlib qt5
4、图像显示在代码区域中
在jupyter notebook中显示在代码区域
%matplotlib inline
一、figure画板
一般来说,我们一次只会生成一个figure,因为这样不容易乱,但也可以同时存在多个figure,需要操作哪个figure就操作哪个,前提是我们在生成figure时,接受了他的返回值,这样就可以随心操作。
但是有一点,生成了figure之后,直接plt.show()是显示不出什么的,因为上面还没有axes,而且plt.show()不是说figure.show(),而是axes或者是其他东西的show()(具体我也不知道),但是现在只生成了一个figure。
生成figure
f1 = plt.figure(num=1)
#返回画布,因为后面要直接对其操作,所以接收这个返回值
f2 = plt.figure(num=2)
还可以在生成figure画板时,设置其大小、分辨率
f3 = plt.figure(num=3, figsize=[3,3], dpi=200, linewidth=3, edgecolor="r", facecolor="y")
figure画板的属性
属性名 | 含义 |
---|---|
num | 画板编号 |
figsize | 画板大小(列表),宽、高 |
dpi | 分辨率,(图形每英寸的点数),默认是100 |
facecolor | 画板的颜色,默认白色 |
linewidth | 画板的边的宽度,默认是0 |