ax savefig
参考:ax savefig
在Matplotlib中,通过使用axes对象(ax)的savefig方法,我们可以将当前figure保存为图像文件。这个方法非常方便,可以让我们将绘制的图形保存下来,以备之后使用或分享。
保存为PNG文件
首先,我们来看一个简单的示例,将绘制的图形保存为PNG文件。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_title('Sin Wave')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.savefig('sin_wave.png')
在这个示例中,我们首先创建了一个包含正弦波的图形,然后使用ax.savefig方法将其保存为名为’sin_wave.png’的PNG文件。运行这段代码后,当前目录下将会生成一个’sin_wave.png’文件,显示我们保存的图形。
保存为JPEG文件
除了PNG文件,我们也可以将图形保存为JPEG格式。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.cos(x)
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_title('Cos Wave')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.savefig('cos_wave.jpg')
在这个示例中,我们创建了一个包含余弦波的图形,并使用ax.savefig方法将其保存为名为’cos_wave.jpg’的JPEG文件。
保存为PDF文件
另外,我们还可以将图形保存为PDF文件格式。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.tan(x)
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_title('Tan Wave')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.savefig('tan_wave.pdf')
在这个示例中,我们绘制了一个包含正切波的图形,并使用ax.savefig方法将其保存为名为’tan_wave.pdf’的PDF文件。
改变输出文件的分辨率
如果我们希望保存的图像具有更高的分辨率,可以通过设置dpi参数来实现。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.exp(x)
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_title('Exp Wave')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.savefig('exp_wave.png', dpi=300)
在这个示例中,我们绘制了一个包含指数波的图形,并使用ax.savefig方法将其保存为名为’exp_wave.png’的PNG文件,并设置dpi参数为300,以获得更高的分辨率。
保存为SVG文件
Matplotlib还支持将图形保存为SVG文件格式。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.log(x)
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_title('Log Wave')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.savefig('log_wave.svg')
在这个示例中,我们绘制了一个包含对数波的图形,并使用ax.savefig方法将其保存为名为’log_wave.svg’的SVG文件。
保存为EPS文件
最后,我们看看如何将图形保存为EPS文件格式。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sqrt(x)
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_title('Sqrt Wave')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.savefig('sqrt_wave.eps')
在这个示例中,我们绘制了一个包含平方根波的图形,并使用ax.savefig方法将其保存为名为’sqrt_wave.eps’的EPS文件。
通过以上示例代码,我们介绍了如何使用Matplotlib中的axes对象的savefig方法来保存图形为不同格式的文件。这个方法非常灵活,可以为我们的绘图工作提供很大的便利。