Subplots Savefig
在使用Matplotlib绘制图形时,我们经常需要将图形保存为图片文件,或者需要将多个图形组合在一起展示。在Matplotlib中,我们可以使用subplots()函数来创建多个子图,并且可以使用savefig()函数将图形保存为图片文件。
创建子图
使用subplots()函数可以创建多个子图,该函数返回一个包含所有子图的Figure对象和一个包含所有子图坐标轴的Axes对象数组。
示例代码如下:
import matplotlib.pyplot as plt
# 创建2x2的子图
fig, axes = plt.subplots(2, 2)
# 在第一个子图中绘制折线图
axes[0, 0].plot([1, 2, 3, 4], [1, 4, 9, 16])
# 在第二个子图中绘制散点图
axes[0, 1].scatter([1, 2, 3, 4], [1, 4, 9, 16])
# 在第三个子图中绘制柱状图
axes[1, 0].bar([1, 2, 3, 4], [1, 4, 9, 16])
# 在第四个子图中绘制饼图
axes[1, 1].pie([1, 2, 3, 4])
plt.show()
Output:
保存图片文件
使用savefig()函数可以将Matplotlib绘制的图形保存为图片文件,可以选择保存为不同格式的文件,如PNG、JPG、PDF等。
示例代码如下:
import matplotlib.pyplot as plt
# 绘制折线图
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
# 保存为PNG图片文件
plt.savefig('line_plot.png')
# 清空当前图形
plt.clf()
保存多个子图
当我们同时绘制多个子图时,可以将所有子图保存为一个图片文件,每个子图对应一个子图表。
示例代码如下:
import matplotlib.pyplot as plt
# 创建2x2的子图
fig, axes = plt.subplots(2, 2)
# 在第一个子图中绘制折线图
axes[0, 0].plot([1, 2, 3, 4], [1, 4, 9, 16])
# 在第二个子图中绘制散点图
axes[0, 1].scatter([1, 2, 3, 4], [1, 4, 9, 16])
# 在第三个子图中绘制柱状图
axes[1, 0].bar([1, 2, 3, 4], [1, 4, 9, 16])
# 在第四个子图中绘制饼图
axes[1, 1].pie([1, 2, 3, 4])
# 保存为PDF图片文件
plt.savefig('subplots_plot.pdf')
# 清空当前图形
plt.clf()
通过以上示例代码,我们介绍了如何使用Matplotlib中的subplots()函数创建多个子图,并使用savefig()函数将图形保存为图片文件。