使用pytextrank包创建了一个图形对象,如下所示:
import pytextrank
### ...........................
### Some steps and calculations
### ...........................
graph, ranks = pytextrank.text_rank(path_stage1)我可以使用networkx包生成如下所示的networkx绘图:
import networkx as nx
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(50,50))
nx.draw(graph, with_labels=True)
plt.show()

但正如你所看到的,这些词大多集中在中心。我希望能看到更高层次的词汇分离。我该怎么做?
发布于 2019-01-03 11:24:21
您要寻找的是一个不同的布局 (Networkx用于绘制图形时使用的节点定位算法的术语)。默认情况下,nx.draw()使用spring布局。可以按以下方式更改布局:
import networkx as nx
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(50,50))
pos = nx.spectral_layout(graph)
nx.draw(graph, pos=pos, with_labels=True)
plt.show()你可以玩一些布局,以找到一个适合你的需要。
另一种选择是将图形保存到一个文件中,并使用伤寒加载它,该文件具有一个很好的图形用户界面,用于可视化和浏览您的图形。(还支持几种图形布局算法)。
https://stackoverflow.com/questions/54019644
复制相似问题