小编典典

如何使用matplotlib在单个页面上绘制多个图?

python

我编写的代码可以一次打开16位数字。目前,它们都以单独的图形打开。我希望他们在同一页面上全部打开。不一样的图。我希望在单个页面/窗口上有16个独立的图形。同样由于某种原因,numbins和defaultreallimits的格式也无法保存在图1之前。我是否需要使用subplot命令?我不明白为什么我必须这样做,但不知道我还要做什么?

import csv
import scipy.stats
import numpy
import matplotlib.pyplot as plt

for i in range(16):
    plt.figure(i)
    filename= easygui.fileopenbox(msg='Pdf distance 90m contour', title='select file', filetypes=['*.csv'], default='X:\\herring_schools\\')
    alt_file=open(filename)    
    a=[]
    for row in csv.DictReader(alt_file):
        a.append(row['Dist_90m(nmi)'])
    y= numpy.array(a, float)    
    relpdf=scipy.stats.relfreq(y, numbins=7, defaultreallimits=(-10,60))
    bins = numpy.arange(-10,60,10)
    print numpy.sum(relpdf[0])
    print bins
    patches=plt.bar(bins,relpdf[0], width=10, facecolor='black')
    titlename= easygui.enterbox(msg='write graph title', title='', default='', strip=True, image=None, root=None)
    plt.title(titlename)
    plt.ylabel('Probability Density Function')
    plt.xlabel('Distance from 90m Contour Line(nm)')
    plt.ylim([0,1])

plt.show()

阅读 272

收藏
2020-12-20

共1个答案

小编典典

要回答您的主要问题,您想使用subplot命令。我认为更改plt.figure(i)plt.subplot(4,4,i+1)应该有效。

2020-12-20