3

我正在尝试从 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

有人可以帮我吗?

4

2 回答 2

1

如果nx.drawing.write_dot()f.write()将任何输出写入Paul_search_results.dot,该文件将位于您的“当前工作目录”中。如果您只是双击文件,我不知道 Windows 会将您当前的工作目录设置为什么Explorer.exe- 值得您花时间启动cmd.exe命令提示符,自行执行cd到您想要包含的任何目录您的输出,手动运行命令,然后查看控制台输出以查看是否有任何错误消息。

于 2012-01-30T06:33:25.987 回答
1

您的文件存储在Paul_search_results.dot. 如果找不到该查找,则更改名称以包含完整路径,以便您可以将其放在您想要的位置。

其余的代码看起来是正确的,但是如果没有看到数据就很难判断。您设置f=sys.stdout以查看正在生成的输出。

仅供参考,在http://interactive.blockdiag.com上有一个在线版本的 Graphviz

祝你的项目好运。

于 2012-01-30T06:33:46.407 回答