Wenn ich eine Figur unter Verwendung von matplotlib
zeichne, wie speichere ich sie ohne zusätzliche Ränder? Normalerweise, wenn ich speichern Sie es alsSpeichern einer matplotlib/networkx-Figur ohne Ränder
plt.savefig("figure.png") # or .pdf
ich es mit einigen Margen:
Beispiel:
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()
Update 2:
Die Räume sind innerhalb der Achsen eingestellt .. Das ist klar, wenn ich entferne plt.axis('off')
Also ich denke, es gibt einen Trick mit dem Paket Networkx zu verwenden.
Vielen Dank. Es funktioniert, aber mit einem kleinen Teil der Grenzen der Figur zu entfernen. Ich bekomme die Figur nicht vollständig.Also ich denke, ich muss es nur irgendwie ändern. – Aya
können Sie einen konservativeren Schnitt (1.10 oder 1.05 statt 1.02) versuchen, ändern Sie es einfach, bis die Leinwand passt. – nye17
Ich würde immer noch eine andere Methode bevorzugen, die automatisch Grenzen festlegt. Ich denke, das wird mit Networkx sein, wegen der Knotenform – Aya