web-dev-qa-db-fra.com

Comment afficher plusieurs images dans une seule figure?

J'utilise Python lib matplotlib pour tracer des fonctions, et je sais comment tracer plusieurs fonctions dans différents sous-tracé s dans une figure, comme celle-ci, enter image description here

Et lorsque je manipule des images, j'utilise imshow () pour tracer des images, mais comment tracer plusieurs images ensemble dans différents sous-tracés avec une seule figure?

27
Alcott

documentation fournit un exemple (environ les trois quarts de la page):

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
fig = plt.figure()
a=fig.add_subplot(1,2,1)
img = mpimg.imread('../_static/stinkbug.png')
lum_img = img[:,:,0]
imgplot = plt.imshow(lum_img)
a.set_title('Before')
plt.colorbar(ticks=[0.1,0.3,0.5,0.7], orientation ='horizontal')
a=fig.add_subplot(1,2,2)
imgplot = plt.imshow(lum_img)
imgplot.set_clim(0.0,0.7)
a.set_title('After')
plt.colorbar(ticks=[0.1,0.3,0.5,0.7], orientation='horizontal')

# ---------------------------------------
# if needed inside the application logic, uncomment to show the images
# plt.show()

Fondamentalement, c'est la même chose que vous faites normalement avec la création d'axes avec fig.add_subplot...

43
mgilson

Simple python pour tracer des sous-tracés dans une figure;

rows=2
cols=3
fig, axes = plt.subplots(rows,cols,figsize=(30,10))
plt.subplots_adjust(wspace=0.1,hspace=0.2)
features=['INDUS','RM', 'AGE', 'DIS','PTRATIO','MEDV']
plotnum=1
for idx in features:
    plt.subplot(rows,cols,plotnum)
    sns.distplot(data[idx])
    plotnum=plotnum+1
plt.savefig('subplots.png')

passez par le lien ci-dessous pour plus de détails https://exploredatalab.com/how-to-plot-multiple-subplots-in-python-with-matplotlib/

0
Vinod Kumar K