Betrachten (Angenommen Code läuft ohne Fehler) zu speichern:Unable matplotlib.figure Figur, Leinwand ist keine
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))
Ich möchte jetzt speichern meine Figur mit fig.savefig(outputPath, dpi=300)
, aber ich bekomme AttributeError: 'NoneType' object has no attribute 'print_figure'
, weil fig.canvas
ist None. Die Sub-Plots sollten sich auf dem Canvas der Figuren befinden, also sollte es nicht None sein. Ich denke, ich vermisse ein Schlüsselkonzept über Matplot Figuren Leinwand. Wie kann ich fig.canvas aktualisieren, um die aktuelle Figur zu reflektieren, so kann ich fig.savefig(outputPath, dpi=300)
verwenden? Vielen Dank!
Dank macht Sinn! – TheoretiCAL