如何在一个图中显示多个图像?

时间:2013-06-14 15:03:05

标签: python image matplotlib

我使用Python lib matplotlib来绘制函数,我知道如何在一个图中的不同子图中绘制几个函数,就像这个enter image description here

在处理图像时,我使用 imshow()来绘制图像,但是如何使用一个图形在不同的子图中一起绘制多个图像?

2 个答案:

答案 0 :(得分:43)

documentation提供了一个示例(大约四分之三的页面):

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 ...

创建轴时的正常情况相同

答案 1 :(得分:0)

简单的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/