matplotlib
を使用して図を描画すると余分な余白なしで保存するにはどうすればよいですか? 通常、私はmatplotlib/networkx図形を余白なしで保存する
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パッケージで使用するトリックがあると思います。
ありがとうございます。それは機能しますが、数字の限界のいくつかの小さな部分を削除してください。私は完全な数字を取得していません。だから私は何とかそれを修正する必要があると思う。 – Aya
あなたはより控えめなカット(1.02ではなく1.10または1.05)を試すことができます。キャンバスが収まるまでそれを変更してください。 – nye17
私はまだ境界を自動的に修正する別の方法を好むでしょう。私はこれがNetworkxであると考えています。ノード形状 – Aya