Cuando dibujo una figura usando matplotlib
¿cómo la guardo sin márgenes adicionales? lo general, cuando lo guardo comoGuardar una figura matplotlib/networkx sin márgenes
plt.savefig("figure.png") # or .pdf
lo consigo con unos márgenes:
Ejemplo:
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()
Actualización 2:
Los espacios se establecen dentro de los ejes .. Esto es claro si elimino plt.axis('off')
Así que creo que hay algún truco para usar con el paquete Networkx.
Muchas gracias. Funciona pero eliminando una pequeña parte de los límites de la figura. No entiendo la figura completa.Así que creo que solo necesito modificarlo de alguna manera. – Aya
puede intentar un corte más conservador (1.10 o 1.05 en lugar de 1.02), simplemente cámbielo hasta que encaje el lienzo. – nye17
Todavía preferiría otro método que corrige automáticamente los límites. Creo que esto será con Networkx, debido a la forma del nodo – Aya