J'essaie de visualiser un tableau numpy en utilisant imshow () car il est similaire à imagesc () dans Matlab.
imshow(random.rand(8, 90), interpolation='nearest')
Le chiffre qui en résulte est très petit au centre de la fenêtre grise, alors que la majeure partie de l'espace est inoccupée. Comment puis-je définir les paramètres pour agrandir la figure? J'ai essayé figsize = (xx, xx) et ce n'est pas ce que je veux. Merci!
python
numpy
matplotlib
Ruofeng
la source
la source
Réponses:
Si vous ne donnez pas d'
aspect
argument àimshow
, il utilisera la valeur pourimage.aspect
dans votrematplotlibrc
. La valeur par défaut pour cette valeur dans un nouveaumatplotlibrc
estequal
. Alorsimshow
tracera votre tableau avec un rapport hauteur / largeur égal.Si vous n'avez pas besoin de la même esthétique que vous pouvez définir
aspect
àauto
ce qui donne la figure suivante
Si vous voulez un rapport hauteur / largeur égal, vous devez adapter votre en
figsize
fonction de l'aspectce qui vous donne:
la source
C'est étrange, cela fonctionne vraiment pour moi:
J'utilise le backend "MacOSX", btw.
la source
plt.figure(figsize = (x_new, y_new))
et pour imgshow (), vous devez maintenant importer ioimage car le sciPy imageshow () sera bientôt obsolèteJe suis aussi nouveau en python. Voici quelque chose qui semble faire ce que vous voulez
Je crois que cela décide de la taille de la toile.
la source
Mise à jour 2020
comme demandé par @baxxx, voici une mise à jour car elle
random.rand
est obsolète entre-temps.Cela fonctionne avec matplotlip 3.2.1:
Cela trace:
Pour changer le nombre aléatoire, vous pouvez expérimenter avec
np.random.normal(0,1,(8,90))
(ici moyenne = 0, écart type = 1).la source