- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试根据距离矩阵绘制图形。该代码工作正常并给了我一张图片。图像很大,但所有节点都挤在一起。我想增加节点之间的空间。我希望节点更分开而不是扩大。
我试过 Graphviz NEATO,但问题是它只支持 100 个节点,因为我有 1000 个节点,它显示了 10 个集群,每个集群有 100 个节点。
我的整体代码 -
import networkx as nx
import pickle
import matplotlib.pyplot as plt
print "~~~Unpickle."
p_file = open('pickles/names')
Names = pickle.load(p_file)
p_file.close()
p_file = open('pickles/distance')
Dist = pickle.load(p_file)
p_file.close()
G = nx.Graph()
print "~~~Inserting Nodes."
for store in Names:
G.add_node(store)
print "~~~Inserting Edges."
for i in range(601):
for j in range(601):
if Names[i]!=Names[j]:
G.add_edge(Names[i],Names[j],weight=Dist[i][j])
print "~~~Drawing Graph."
nx.draw(G,pos,node_color='#A0CBE2',edge_color='none',width=1, edge_cmap=plt.cm.Blues, with_labels=False)
print "~~~Saving Figure."
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)
print "~~~Success!"
输出(去除边缘和标签):
具有 600 个节点的 Graphvix NEATO 的输出 -
最佳答案
来自 figure文档:
图(num=无,figsize=(8、6),dpi=80,facecolor='w',edgecolor='k')
因此 figure(figsize=(10,10)) 创建了一个 10 英寸 x 10 英寸的图像,像素为 800 x 800。
如果要打印大型网络图,最简单的方法就是提高 DPI。
尝试这样的事情:
plt.figure(num=None, figsize=(10, 10), dpi=1200)。这将产生一个大图像文件。
你也可以尝试打印pdf
plt.savefig("graph.pdf")
使用此选项,最终图形将不会被栅格化。
要更改节点之间的距离,您可以缩小节点或更改布局。改变布局很难做好。
尝试布局中的缩放选项例如,
规模 = 2
将使所有节点之间的距离加倍。
所以在你的例子中,改变行
nx.绘制(G)
到
pos = nx.circular_layout(G, scale=2)
nx.draw(G, pos)
您还可以使用不同的布局,请参阅 documentation更多细节。
关于graph - 使节点更加分离(图形可视化),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13784806/
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 4 年前。 Improv
我正在寻找清理 Grails Controller 代码的方法。在各种 Controller 中我或多或少有相同的逻辑.. 获取对象 检查是否存在 等等.. 是否有建议的方法可以使 Controlle
我真的很喜欢 PHP,因为: _ 易于开发 Web 应用程序(您可以在 10 分钟内设置 LAMP,然后就可以开始了) _ 简单易学 _ 易于部署(您只需要带有 PHP 模块的 Apache) 我真的
我正在尝试使用 mod_rewrite 将我的博客 URL 转换为更适合 SEO 的格式。我所有的文章都存储在一个简单的 MySQL 数据库中。每个博客文章的网址如下所示: http://www.te
我是一名优秀的程序员,十分优秀!