如何将多个图形放到一个窗口中?

时间:2020-06-17 15:23:03

标签: python matplotlib

我正在创建多个图形,但是我希望所有这些图形都在1个窗口中,而不是每个图形都有单独的窗口。我认为这与我的newAx函数有关。我是否必须将图形添加到列表中,然后根据该列表创建图?谢谢!

import matplotlib
import matplotlib.pyplot as plt 
import numpy as np

v = 0
width = 0.5

def newAx(province):
    n = v
    x = np.arange(len(Years))
    fig, ax = plt.subplots()

    ax.bar(x, Male, width, label='Male')
    ax.bar(x, Female, width, bottom=Male, label='Female')

    ax.set_ylabel('Frequency')
    ax.set_title(f'{name.title()}, in {province}')    
    ax.set_xticks(x)
    ax.set_xticklabels(Years)
    ax.legend()

    fig.tight_layout()

if sum(OntarioMale) > 0 or sum(OntarioFemale) > 0:
    Years = OntarioYears
    Female = OntarioFemale
    Male = OntarioMale
    newAx('Ontario')
    v += 1

if sum(BCFemale) > 0 or sum(OntarioMale) > 0:
    Years = BCYears
    Female = BCFemale
    Male = BCMale
    newAx('British Columbia')
    v += 1

if sum(AlbertaFemale) > 0 or sum(AlbertaMale) > 0:
    Years = AlbertaYears
    Female = AlbertaFemale
    Male = AlbertaMale
    newAx('Alberta')
    v += 1

if sum(NSFemale) > 0 or sum(NSMale) > 0:
    Years = NSYears
    Female = NSFemale
    Male = NSMale
    newAx('Nova Scotia')
    v += 1


plt.show()

0 个答案:

没有答案