为什么我在用plt画图时,plt.show()显示的,和plt.savefig()添加了dpi后保存的图片不一样
时间: 2023-11-28 10:49:15 浏览: 75
解决Python plt.savefig 保存图片时一片空白的问题
通常情况下,plt.show()和plt.savefig()产生的图形应该是一样的,因为它们都是使用matplotlib库来绘制图形的。但是,如果你在调用plt.savefig()时设置了dpi参数,就会产生不同的结果。
dpi参数表示每英寸包含的像素数,它会影响保存的图片的大小和清晰度。如果你设置的dpi值比默认值(通常为100)更高,那么保存的图片就会更清晰,但也会更大。因此,如果你在保存图片时设置了高dpi值,而在调用plt.show()时没有设置dpi值,就会导致两者显示的图形不一样。
如果你想让plt.show()和plt.savefig()产生的图形一致,可以在调用plt.show()之前设置dpi值,例如:
```python
import matplotlib.pyplot as plt
# 绘制图形
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
# 设置dpi值
plt.gcf().set_dpi(100)
# 显示图形
plt.show()
# 保存图形
plt.savefig('figure.png', dpi=100)
```
这样就可以保证两者显示的图形一致了。
阅读全文