概要:介绍matplotlib 绘制图像起手, figure() 的设置, axes() 的设置。主要的内容可移步最后部分的总结。
04 Matplotlib 总结
Matplotlib 提供了matplotlib.figure图形类模块,它包含了创建图形对象的方法。通过调用 pyplot 模块中 figure() 函数来实例化 figure 对象。
图像结构简要概括二个图层:
figure层:指整张图,可设置整张图的分辨率(dpi),长宽(figsize)。
axes层:设置坐标轴范围(scale)、坐标轴刻度(tricks)、坐标轴(axis)的名字(label)、子图标题(title)、图例(legend)、绘制各种图形。
所以每当咱们绘图的时候,写的第一行就是建立Figure的代码:
import matplotlib.pyplot as plt
# 创建空白画布
fig = plt.figure()
# 创建空白画布,设置画布宽和高
fig = plt.figure(figsize=(2,1))
# 创建空白画布,设置画布的背景色
fig = plt.figure(facecolor='white')
# 创建空白画布,指定绘图对象的分辨率
fig = plt.figure(dpi=100)
然后就是建立Axes的代码:
方法一:通过add_axes() 将 axes 轴域添加到画布中,add_axes() 的参数值是一个序列,序列中的 4 个数字分别对应图形的左侧,底部,宽度,和高度,且每个数字必须介于 0 到 1 之间。
import matplotlib.pyplot as plt
import numpy as np
import math
# 数据
x = np.arange(0, math.pi*2, 0.05)
y = np.sin(x)
# 创建空白画布
fig = plt.figure()
ax=fig.add_axes([0,0,1,1]) # 通过add_axes() 将 axes 轴域添加到画布中
ax.set_title("sine wave") # ax 作为对象,可以开始设置辅助显示层、图像层的内容, 这一部分将在下节详细讲述。
ax.plot(x,y)
plt.show()
#plt.savefig("sine_wave.png", format="png", dpi=120)
方法二:通过 add_subplot() 函数将一张画布划分为若干个子区域,在这些区域上绘制不用的图形。(多子图绘制方法后续将详细的篇章讲述)
plt.subplot(nrows, ncols, index) nrows 与 ncols 表示要划分几行几列的子区域(nrows*nclos表示子图数量),index 的初始值为1,用来选定具体的某个子区域。
# 创建空白画布
fig = plt.figure()
ax1 = fig.add_subplot(121) # plt.subplot(nrows, ncols, index) nrows 与 ncols 表示要划分几行几列的子区域(nrows*nclos表示子图数量),index 的初始值为1,用来选定具体的某个子区域。
ax2 = fig.add_subplot(122)
ax1.plot(x)
ax2.plot(y)
plt.show()
#plt.savefig("sine_wave.png", format="png", dpi=120)
完整内容点击原文阅读: 01.Matplotlib 图像结构-figure()&axes设置 (qq.com)