【问题标题】:matplotlib/IPython Notebook creates empty PNG or PDF imagematplotlib/IPython Notebook 创建空的 PNG 或 PDF 图像
【发布时间】:2013-10-03 11:55:44
【问题描述】:

此代码使用 matplotlib 生成箱线图。该图在 IPython Notebook 中正确显示(见附图)。但是,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")

【问题讨论】:

    标签: python matplotlib plot ipython-notebook


    【解决方案1】:

    您可能需要在show 之前使用savefig

    【讨论】:

    • 谢谢,简单的解决方案;在 python 控制台中显示之前不会产生问题 - 在 ipython 中它会
    • 不错!顺便说一句,如果一个单元格以某个情节结尾,而下一个单元格以savefig 结尾,也会出现问题。要使savefig 起作用,它应该在与绘图相同的单元格中执行。这可能是在 IPython 的 repr* (_repr_png?) 之一中隐含的 show,因此上面的答案也适用。
    猜你喜欢
    • 1970-01-01
    • 2013-10-28
    • 2012-05-15
    • 2014-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-18
    相关资源
    最近更新 更多