簡體   English   中英

在 Jupyter Notebook 中增加 Matplotlib .show() 的 DPI

[英]Increase DPI of Matplotlib .show() in Jupyter Notebook

我在 Jupyter Notebook 中使用 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)

問題是,雖然plt.savefig('test.png', dpi = 300)看起來不錯(因為我將 dpi 更改為 300),但筆記本中顯示的圖像分辨率太低,我無法做出任何判斷它,並且plt.imshow(img, dpi = 300)不起作用:

筆記本中顯示的圖像

所以我想知道是否有辦法改變 Jupyter Notebook 中顯示的圖像的分辨率?

在筆記本的開頭添加:

import matplotlib as mpl
mpl.rcParams['figure.dpi'] = 300

就是這樣 !

如果您的屏幕具有 Retina 顯示屏,請在筆記本中的%matplotlib inline (或繪圖前的其他位置)之后添加以下行

%config InlineBackend.figure_format = 'retina'

這將增加您地塊Jupyter筆記本電腦的顯示分辨率。

使用此答案中提出的解決方案存在將 DPI 應用於將在筆記本中創建的所有其他圖形的缺點。

這在大多數情況下是可以的,但如果您只需要為一個數字設置 DPI 值,您可以按如下方式進行:

plt.imshow(img)
plt.gcf().set_dpi(300)
plt.show()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM