Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用networkX和matplotlib绘制大型图形_Python_Graph_Matplotlib_Networkx - Fatal编程技术网

Python 使用networkX和matplotlib绘制大型图形

Python 使用networkX和matplotlib绘制大型图形,python,graph,matplotlib,networkx,Python,Graph,Matplotlib,Networkx,我正在使用networkX和matplotlib绘制一个包含大约5K个节点的图形。matplotlib的GTK窗口具有缩放和可视化图形的工具。 有没有办法,我可以保存一个放大的版本,以便以后进行适当的可视化 import matplotlib.pyplot as plt import networkx as nx pos=nx.spring_layout(G) #G is my graph nx.draw(G,pos,node_color='#A0CBE2',edge_color='#B

我正在使用networkX和matplotlib绘制一个包含大约5K个节点的图形。matplotlib的GTK窗口具有缩放和可视化图形的工具。 有没有办法,我可以保存一个放大的版本,以便以后进行适当的可视化

import matplotlib.pyplot as plt
import networkx as nx

pos=nx.spring_layout(G)   #G is my graph

nx.draw(G,pos,node_color='#A0CBE2',edge_color='#BB0000',width=2,edge_cmap=plt.cm.Blues,with_labels=True)
#plt.show()
plt.savefig("graph.png", dpi=500, facecolor='w', edgecolor='w',orientation='portrait', papertype=None, format=None,transparent=False, bbox_inches=None, pad_inches=0.1) 

您有两个简单的选择:

提高新闻部 (较大的图像文件大小)

另存为PDF
这是最好的选择,因为最终图形没有光栅化。理论上,你应该能够无限放大

不在GTK时,您可能需要签出。

您可能需要签出以下内容:

plt.savefig("name.svg")

质量很好。尽管dpi选项仍处于活动状态。

还应该有一个保存按钮。。。。或者至少我确信其中一个前端有这个功能(可能是Qt的?)。是的,有一个保存按钮。但是,一旦您放大了图表的一部分并保存,它只会保存当前的查看区域。我想查看整个图形。你能不能把
dpi
调高一点,这样保存的图像中会显示更多细节?@JonathonReinhart看起来不错。这种重要性往往是假定的;)@我想,我只是没有太多地使用这两个库,我想确定一下。顺便说一下,networkx。。。哇!无论如何,我现在将删除我的毫无意义的评论。@NiharSarangi我觉得“保存一个放大的版本以便以后适当的可视化”这个问题已经得到了回答。如果图像杂乱无章,而您想要自定义
networkx
,这可能会成为另一个问题的素材。尝试在绘图命令中关闭标签
和标签=True
->
和标签=False
,以将其清除。
plt.savefig("graph.pdf")
plt.savefig("name.svg")