matplotlib/IPython笔记本创建空的PNG或PDF图像
此代码使用matplotlib生成箱线图。IPython笔记本中正确显示了该图(见附图)。但是,matplotlib/IPython笔记本创建空的PNG或PDF图像,python,matplotlib,plot,ipython-notebook,Python,Matplotlib,Plot,Ipython Notebook,此代码使用matplotlib生成箱线图。IPython笔记本中正确显示了该图(见附图)。但是,savefig会创建一个空图像。我尝试了文件结尾.png和.pdf,但这两种情况都会发生。代码有什么问题 fig = matplotlib.pyplot.gcf() GCEMA = (0.26, 0.26, 0.30, 0.51, 0.55, 0.34) CEM = (0.26, 0.23, 0.30, 0.49, 0.35, 0.24) selSCAN = (0.19,
savefig
会创建一个空图像。我尝试了文件结尾.png
和.pdf
,但这两种情况都会发生。代码有什么问题
fig = matplotlib.pyplot.gcf()
GCEMA = (0.26, 0.26, 0.30, 0.51, 0.55, 0.34)
CEM = (0.26, 0.23, 0.30, 0.49, 0.35, 0.24)
selSCAN = (0.19, 0.35, 0.28, 0.45, 0.41, 0.52)
selSCANAD = (0.26, 0.52, 0.37, 0.46, 0.46, 0.47)
N=6
pos = np.arange(N)
ax = plt.axes()
ax.bar(0.6*pos, GCEMA, width = 0.10, color='green', label='GCE-MA')
ax.bar(0.6*pos+0.1, CEM, 0.10, color='blue', label='CE-M')
ax.bar(0.6*pos+0.2, selSCAN, 0.10, color='red', label='selSCAN-ND')
ax.bar(0.6*pos+0.3, selSCANAD, 0.10, color='yellow', label='selSCAN-AD')
ylabel("quality [$\phi$]", fontsize=14)
fig.set_size_inches(5,4)
xticks(rotation=15)
xticks([0.2,0.8,1.4,2,2.6,3.2],['PGP','CAIDA','coPapersDBLP','soc-LiveJournal','uk-2002','eu-2005'])
legend(loc=4, fontsize=10)
show()
savefig("cond.png")
您可能需要在
show
之前使用savefig
您可能需要在show
之前使用savefig
谢谢,简单的解决方案;在python控制台中,之前显示不会产生问题-在ipython中,它不会产生问题!顺便说一句,如果一个单元格以某个绘图结束,而下一个单元格执行savefig
,也会出现问题。要使savefig
工作,应在与绘图相同的单元格中执行。这可能会在IPython的一个repr*(\u repr\u png
?)中出现一个隐式的show
),因此上面的答案也适用;在python控制台中,之前显示不会产生问题-在ipython中,它不会产生问题!顺便说一句,如果一个单元格以某个绘图结束,而下一个单元格执行savefig
,也会出现问题。要使savefig
工作,应在与绘图相同的单元格中执行。这可能会在IPython的一个repr*(\u repr\u png
?)中出现一个隐式的show
),因此上面的答案也适用。