带有 frameon = False 和 axes = False 的 Networkx 绘图轴

Networkx drawing axes with frameon = False and axes = False

我正在用以下方法绘制和保存我的图形:

nx.draw_networkx(dG,pos,labels,font_size=12,node_size=0,edge_color='y',width = 0.5)
plt.savefig('new.eps', format='eps', dpi=200,frameon=False, axes = False,bbox_inches='tight')

但它是用坐标轴保存的。

然而,当我输入

plt.axis('off')

在上面两行之前,它消除了坐标轴。

这里是savefig的调用签名(参见here):

savefig(fname, dpi=None, facecolor='w', edgecolor='w',
    orientation='portrait', papertype=None, format=None,
    transparent=False, bbox_inches=None, pad_inches=0.1,
    frameon=None)

frameon关键字参数只是告诉它是否有彩色背景。您发送的 axes=False 选项被完全忽略,因为 axes 不是 savefig.

的关键字参数

因此,如果没有您的 plt.axis('off'),您将无法告诉它不要在其中放置任何轴。

如果我要编写代码,我会这样做

nx.draw_networkx(dG,pos,labels,font_size=12,node_size=0,edge_color='y',width = 0.5)
plt.axis('off')
plt.savefig('new.eps', dpi=200, bbox_inches='tight')

format = 'eps' 是不必要的。如果您不设置 format 关键字,它会根据您提供的文件名的扩展名确定要保存的格式。


(看看它如何忽略它不期望的关键字:

plt.plot([0,1],[0,1])
plt.savefig('test.pdf', garbldeygook = False)

即使 garbldeygook 不是 savefig)

的关键字,也能正常运行