我正在尝试从twitter收集数据并通过Graphviz将其可视化。我已经安装了Graphviz,目前我正在尝试通过Python生成DOT语言输出,我遇到了无法从我的代码获得任何响应的问题。我想知道我的代码是否生成了DOT文件,如果是,我的DOT文件在哪里?以下是我的代码。
OUT ="Paul_search_results.dot"
try:
nx.drawing.write_dot(g, OUT)
except ImportError, e:
dot = ['"%s" -> "&s" [tweet_id=%s]'% (n1, n2, g[n1][n2]['tweet_id'])\
for n1, n2 in g.edges()]
f = open(OUT, 'w')
f.write('strict digraph {\n%s\n}' % (';\n'.join(dot),))
f.close()
我正在使用Windows,我知道我不能easy_install pygraphviz
,但上面的代码应该做同样的事情。根据这本书,我应该使用上面的代码手头有DOT语言输出。但是我的代码没有收到任何回复。
我已经从twitter收集了信息,准备好了节点和边缘。
>>> g.number_of_nodes()
235
>>> g.number_of_edges()
202
有人可以帮帮我吗?
答案 0 :(得分:1)
如果nx.drawing.write_dot()
或f.write()
将任何输出写入Paul_search_results.dot
,该文件将位于“当前工作目录”中。如果您只需双击Explorer.exe
中的文件,我就不知道Windows会将您当前的工作目录设置为什么 - 非常值得您花时间启动cmd.exe
命令提示符,自己执行cd
到你想要包含输出的目录,手动运行命令,然后查看控制台输出以查看是否有任何错误消息。
答案 1 :(得分:1)
您的文件存储在Paul_search_results.dot
中。如果找不到该查找,请更改名称以包含完整路径,以便将其放在所需的位置。
其余代码看起来正确但很难在不看数据的情况下判断。您设置f=sys.stdout
以查看正在生成的输出。
仅供参考,在http://interactive.blockdiag.com
有一个Graphviz的在线版本祝你的项目好运。