在使用 matplotlib
绘制图形时,如何在保存图像时去除额外的边距?通常情况下,我会将其保存为
plt.savefig("figure.png") # or .pdf
我观察到有一些边距:
例如:
import matplotlib.pyplot as plt
import networkx as nx
G=nx.Graph()
G.add_edge('a','b',weight=1)
G.add_edge('a','c',weight=1)
G.add_edge('a','d',weight=1)
G.add_edge('a','e',weight=1)
G.add_edge('a','f',weight=1)
G.add_edge('a','g',weight=1)
pos=nx.spring_layout(G)
nx.draw_networkx_nodes(G,pos,node_size=1200,node_shape='o',node_color='0.75')
nx.draw_networkx_edges(G,pos,
width=2,edge_color='b')
plt.axis('off')
plt.savefig("degree.png", bbox_inches="tight")
plt.show()
更新2:
这些空格设置在坐标轴内部。如果我移除plt.axis('off')
,这一点就很清楚了。
因此我认为在使用Networkx包时有一些技巧。
bbox_inches="tight"
所做的。你能解释一下它为什么不能满足你的需求吗?另外,你使用的是哪个版本的 matplotlib? - BrenBarn