matplotlib保存图片为原图大小
时间: 2023-05-03 12:07:13 浏览: 77
在使用matplotlib绘图并保存为图片时,通常情况下我们需要保存为与原图大小相同的图片。这需要通过设置保存图片的参数来实现。
在matplotlib中,我们可以使用savefig函数来保存图片并设置参数。具体而言,我们需要设置参数dpi(每英寸点数)和bbox_inches(图片边框)。
首先,我们需要获取原图的大小,可以使用如下代码:
```
fig = plt.figure()
ax = fig.add_subplot(111)
# 绘制原图
# ...
# 获取原图大小
bbox = ax.get_window_extent().transformed(fig.dpi_scale_trans.inverted())
width, height = bbox.width*fig.dpi, bbox.height*fig.dpi
```
然后,我们可以使用savefig函数保存图片,并设置dpi和bbox_inches参数:
```
plt.savefig('filename.png', dpi=fig.dpi, bbox_inches=bbox)
```
其中,dpi参数设置为原图的dpi值,bbox_inches参数设置为原图的边框大小。
通过以上设置,我们即可保存出与原图大小相同的图片。需要注意的是,如果我们在绘图时手动指定了图片的大小,那么需要将bbox参数设置为与指定大小相同的值。
相关问题
matplotlib保存图片设置图例大小
你可以使用`legend`函数来设置图例的大小。下面是一个示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 生成数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
# 绘制图像
fig, ax = plt.subplots()
ax.plot(x, y1, label='sin(x)')
ax.plot(x, y2, label='cos(x)')
# 设置图例大小
leg = ax.legend(loc='best', fontsize='large')
# 保存图像
plt.savefig('figure.png')
```
在上面的代码中,我们使用`ax.legend`函数来添加图例,并通过`fontsize`参数来设置图例的字体大小。如果你想要设置图例的大小,可以使用`leg.set_size`函数来设置。例如,`leg.set_size(10)`将会把图例的大小设置为10。
matplotlib保存图片为jpg
要将matplotlib保存为jpg格式的图片,你可以使用savefig函数,并在format参数中指定为"jpg"。例如:
plt.savefig('./graphs/' + filename + ".jpg", format="jpg")
这将把当前图形保存为jpg格式,并将其保存为指定的文件名。