以图形方式表示列表

时间:2011-07-21 10:37:49

标签: python

是否有一种快速的方式(没有使用GUI或图形模块的开销)可视化地渲染2d和3d列表。

例如,如果我有一个0和1的2d数组,我想根据这个数组绘制黑白网格。

我正在寻找一个允许我以简单的方式做这些事情的模块。类似于matplotlib的容易性允许绘制图形。

2 个答案:

答案 0 :(得分:7)

matplotlib中的命令matshow显示一个矩阵:

import pylab as p
p.matshow(p.array([[0,1],[1,1]]),cmap="Greys") ; p.show()

这适用于2d列表。至于3D列表,我不确定我是否完全理解你是如何规划可视化的。

答案 1 :(得分:3)

您是否正在寻找在命令行上运行的内容?如果是这样的话,你可以简单地在几行中编写自己的小函数。像这样:

>>> matrix = [[0,1,0],[1,1,1],[0,0,1]]
>>> convert = lambda x : '■ ' if x == 1 else '□ '
>>> for row in matrix:
...     print ''.join([convert(el) for el in row])
... 
□ ■ □ 
■ ■ ■ 
□ □ ■