Rozważmy (Załóżmy kod działa bez błędu):Nie można zapisać matplotlib.figure rysunek, płótno jest Brak
import matplotlib.figure as matfig
ind = numpy.arange(N)
width = 0.50;
fig = matfig.Figure(figsize=(16.8, 8.0))
fig.subplots_adjust(left=0.06, right = 0.87)
ax1 = fig.add_subplot(111)
prev_val = None
fig.add_axes(ylabel = 'Percentage(%)',xlabel='Wafers',title=title,xticks=(ind+width/2.0,source_data_frame['WF_ID']))
fig.add_axes(ylim=(70,100))
for key,value in bar_data.items():
ax1.bar(ind,value, width,color='#40699C', bottom=prev_val)
if prev_val:
prev_val = [a+b for (a,b) in zip(prev_val,value)]
else:
prev_val=value
names= []
for i in range(0,len(col_data.columns)):
names.append(col_data.columns[i])
ax1.legend(names,bbox_to_anchor=(1.15, 1.02))
teraz chcę uratować moją postać z fig.savefig(outputPath, dpi=300)
, ale pojawia AttributeError: 'NoneType' object has no attribute 'print_figure'
, ponieważ fig.canvas
jest Brak. Subpoty powinny znajdować się na płótnie z cyframi, więc nie powinno to być żadne. Myślę, że brakuje mi kluczowej koncepcji o płótnach figur matowych. Jak mogę zaktualizować fig.canvas, aby odzwierciedlić obecną figurę, więc mogę użyć fig.savefig(outputPath, dpi=300)
? Dzięki!
Dzięki to ma sens! – TheoretiCAL