Ale*_*x S 9 python matplotlib jupyter-notebook
我在Jupyter笔记本中使用Matplotlib来显示地图的图像.代码如下所示:
%matplotlib inline
imgpath = './map.png'
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
from PIL import Image
img = Image.open(imgpath)
print(img.size)
width, height = img.size
# img.thumbnail((width * 2,height * 2), Image.ANTIALIAS) # resizes image in-place
imgplot = plt.imshow(img)
plt.savefig('test.png', dpi = 300)
Run Code Online (Sandbox Code Playgroud)
问题是,虽然plt.savefig('test.png', dpi = 300)看起来很好(因为我将dpi更改为300),但笔记本中显示的图像分辨率很低,我无法在其上做任何事情,并且plt.imshow(img, dpi = 300)不起作用:
所以我想知道是否有办法改变Jupyter笔记本中显示的图像的分辨率?
非常感谢,Alex
回答:
Politinsa建议我将其添加到文件的开头:
import matplotlib as mpl
mpl.rcParams['figure.dpi'] = 300
Run Code Online (Sandbox Code Playgroud)
它解决了这个问题.
Vit*_*ile 26
使用此答案中提出的解决方案存在将 DPI 应用于将在笔记本中创建的所有其他图形的缺点。
这在大多数情况下都没有问题,但如果您只需要为一个图形设置 DPI 值,您可以按如下方式操作:
plt.imshow(img)
plt.gcf().set_dpi(300)
plt.show()
Run Code Online (Sandbox Code Playgroud)
pol*_*nsa 18
在笔记本的开头添加:
import matplotlib as mpl
mpl.rcParams['figure.dpi'] = 300
Run Code Online (Sandbox Code Playgroud)
而已 !
She*_*ore 15
如果您的屏幕有Retina显示屏,请%matplotlib inline在笔记本中添加以下行(或绘图前的其他位置)
%config InlineBackend.figure_format = 'retina'
Run Code Online (Sandbox Code Playgroud)
这将增加您地块的显示分辨率的内 Jupyter笔记本.
| 归档时间: |
|
| 查看次数: |
8304 次 |
| 最近记录: |