J'utilise Matplotlib dans un cahier Jupyter pour afficher une image d'une carte. Le code ressemble à ceci:
%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)
Le problème est que, bien que plt.savefig('test.png', dpi = 300)
soit correct (car j'ai changé le dpi en 300), l'image affichée dans le portable est si basse résolution que je ne peux rien y voir et plt.imshow(img, dpi = 300)
ne fonctionne pas:
Donc, ce que je me demande, c'est s'il existe un moyen de changer la résolution de l'image affichée dans le bloc-notes Jupyter?
Merci beaucoup, Alex
Réponse:
Politinsa m'a suggéré d'ajouter ceci au début du fichier:
import matplotlib as mpl
mpl.rcParams['figure.dpi'] = 300
Et cela résout le problème.
Ajoutez ceci au début du cahier:
import matplotlib as mpl
mpl.rcParams['figure.dpi'] = 300
C'est ça !
Si votre écran affiche Retina, ajoutez la ligne suivante après %matplotlib inline
(ou ailleurs avant de tracer) dans votre cahier
%config InlineBackend.figure_format = 'retina'
Cela augmentera la résolution d'affichage de vos tracés dans le Jupyter Notebook.