我正在创建多个图形,但是我希望所有这些图形都在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()