Python ASCII 图形绘制

31

我正在寻找一种用Python绘制ASCII图形的库(用于控制台)。这个图很简单:它只是管道流程的流程图。

我看到了NetworkX和igraph,但没有看到输出ASCII的方法。

你有这方面的经验吗?

非常感谢!

Patrick

编辑1: 实际上,我找到了一个可以满足我需求的库,但它是用perl编写的Graph::Easy。我可以从Python中调用代码,但我并不太喜欢这个想法......仍在寻找Python解决方案 :)

3个回答

3

6
不同类型的图。 - Matt R

2
当你说“ASCII简单网络图”时,你是指像这样的东西吗?
.===.   .===.   .===.   .===.
| a |---| b |---| c |---| d |
'==='   '==='   '---'   '==='

我怀疑可能有更好的方法来展示你所拥有的信息,而不是试图在控制台上绘制它。如果只是一个管道,为什么不直接打印出来:
a-b-c-d

如果您确定这是正确的路线,可以尝试使用Matplotlib生成一个漂亮的图表,然后将其内容发布到网络上可以找到的众多图片转ASCII工具之一。

图表可能包括分叉和合并(管道流可以分叉,然后再次合并)。因此,对正在发生的事情进行图形表示会很好。 - Patrick
1
从根本上讲,我认为你最好尝试将数据输出到文件,然后使用像Willi建议的另一个工具进行处理,而不是尝试在控制台上绘图。也许你可以输出Graphviz所需的点格式,并将控制台输出连接到某个观察所需点部分以绘制图形的东西? - Jon Cage
是的,我认为我会选择这样的解决方案。 - Patrick

1

虽然不是直接基于Python的,但你应该看一下emacs的artist-mode。

你可以使用pymacs从Python控制emacs,或者查看Lisp代码并获得一些灵感。


这实际上做的与我想要的类似。但是我希望独立于emacs或任何其他IDE。如果可能的话,我更喜欢不编写自己的图形绘制库。 - Patrick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接