gpt4 book ai didi

python - 保存没有边距的 matplotlib/networkx 图

转载 作者:太空狗 更新时间:2023-10-29 17:05:56 24 4
gpt4 key购买 nike

当我使用 matplotlib 绘制图形时,如何在没有额外边距的情况下保存它?通常当我将它保存为

plt.savefig("figure.png") # or .pdf

我得到了一些边距:

enter image description here

例子:

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 包一起使用。

最佳答案

试试 plt.savefig("figure.png", bbox_inches="tight")

编辑:啊,你没有提到你在使用 networkx(虽然现在我看到它列在标签中)。 bbox_inches="tight" 是紧密裁剪图形的方法。我不知道 networkx 在做什么,但我想它正在设置一些绘图参数,这些参数正在为轴添加额外的空间。您应该在 networkx 而不是 matplotlib 中寻找解决方案。 (例如,networkx 可能会在 axes 内添加空间,而不是图形;如果删除 axis('off') 打电话?)

关于python - 保存没有边距的 matplotlib/networkx 图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11298909/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com