web-dev-qa-db-ja.com

Jupyter NotebookでMatplotlib .show()のDPIを増やす

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)は機能しません:

Image displayed in notebook

Jupyter Notebookに表示されている画像の解像度を変更する方法があれば、私は疑問に思っていますか?

どうもありがとう、アレックス

回答:

Politinsaは、これをファイルの先頭に追加することを提案しました。

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

そして、それは問題を修正します。

8
Alex S

これをノートブックの先頭に追加します。

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

それでおしまい !

17
politinsa

画面にRetinaディスプレイがある場合、ノートブックの%matplotlib inlineの後に(またはプロットする前のどこかに)次の行を追加します

%config InlineBackend.figure_format = 'retina'

これにより、プロットの表示解像度が向上します Jupyter Notebook。

13
Sheldore