web-dev-qa-db-ja.com

1つの図に複数の画像を表示する方法は?

Python lib matplotlibを使用して関数をプロットします。複数の関数を異なるsubplot sでこの図のようにプロットする方法を知っています。 enter image description here

そして、画像を処理するとき、imshow()を使用して画像をプロットしますが、複数の画像を1つの図で異なるサブプロットに一緒にプロットするにはどうすればよいですか?

27
Alcott

documentation は例を示しています(ページを下る約4分の3):

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()

基本的に、fig.add_subplot...を使用して軸を作成する場合と同じです。

43
mgilson

単純なpython図にサブプロットをプロットするコード。

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')

詳細については、以下のリンクをご覧ください https://exploredatalab.com/how-to-plot-multiple-subplots-in-python-with-matplotlib/

0
Vinod Kumar K