1. ホーム
  2. python

[解決済み] matplotlibを使って1つのページに複数のプロットを作成するには?

2023-01-20 13:01:33

質問

16個の図を一度に開くコードを書きました。 現在、それらはすべて別々のグラフとして開かれます。 私はそれらが同じページですべて開くことを望みます。 同じグラフではありません。16個の別々のグラフを1つのページ/ウィンドウに表示したいのです。 また、numbinsとdefaultreallimitsのフォーマットがなぜかfigure 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()

どのように解決するのですか?

あなたの主な質問に答えるために、あなたが使いたいのは サブプロット コマンドを使うことです。 私は plt.figure(i)plt.subplot(4,4,i+1) は動作するはずです。