fig.savefig 设置保存图片的长宽
时间: 2024-08-28 14:01:28 浏览: 103
当你使用matplotlib库中的`fig.savefig()`函数保存图像时,你可以通过设置`bbox_inches`和`dpi`参数来控制图片的尺寸。`bbox_inches`用于指定要保存的图形边界框,可以是一个字符串(如'maximal', 'tight'等)或者是一个四元组表示左下角和右上角坐标。
如果你想精确地设置宽度和高度,可以创建一个包含宽度(`width`)和高度(`height`)的字典,然后传递给`bbox_inches`:
```python
import matplotlib.pyplot as plt
# 创建一个图像
fig, ax = plt.subplots()
...
# 定义宽度和高度,单位通常是英寸
width_in_inches = 6
height_in_inches = 4
# 设置dpi(每英寸点数),这影响了最终图像是多少像素
dpi = 300
# 使用字典来设置边界框,包括宽度、高度和其他属性
bbox = {'width': width_in_inches, 'height': height_in_inches}
# 保存图像
fig.savefig('my_image.png', bbox_inches=bbox, dpi=dpi)
```
这样就可以按照你设定的宽度和高度保存图片了。如果需要保持原始的比例,可以省略`bbox_inches`或只传入'tight',让matplotlib自动调整大小以适应内容。
相关问题
为什么plt.savefig保存的图片尺寸不一样
plt.savefig保存的图片尺寸可能不一样是因为在保存图片时,可能没有指定dpi参数,导致图片的分辨率不同。默认情况下,Matplotlib会将图片的dpi设置为100,因此在不同的显示设备上,图片的尺寸可能会出现变化。如果想要保存尺寸一致的图片,可以在保存图片时指定dpi参数,如:plt.savefig('figure.png', dpi=300),其中dpi=300表示将图片分辨率设置为300dpi,可以根据需要进行调整。另外,也可以在创建Figure对象时指定图片的尺寸,如:fig = plt.figure(figsize=(6, 4)),其中figsize=(6, 4)表示将图片尺寸设置为宽6英寸、高4英寸。这样可以保证在不同的显示设备上显示的大小是一致的。
plt.savefig设置照片尺寸
可以使用plt.savefig函数的dpi参数来设置保存图片的分辨率,从而间接控制图片的尺寸。例如,设置dpi=300可以得到更高分辨率的图片,但文件大小也会相应增大。
示例代码:
```
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [4, 5, 6])
# 设置分辨率为300dpi,图片尺寸为4x3英寸
plt.savefig('figure.png', dpi=300, figsize=(4, 3))
```