这取决于你得到图形后需要做什么,Matplotlib允许你交互地在屏幕上显示图形,将其保存为矢量、pdf或位图格式等等。
如果你选择这个框架,imshow
将会满足你的需求,下面是一个例子:
from random import gauss
a = [[gauss(0, 10) for i in xrange(0, 5)] for j in xrange(0,5)]
from pylab import *
myblue = cm.colors.LinearSegmentedColormap("myblue", {
'red': [(0, 1, 1), (1, 0, 0)],
'green': [(0, 1, 1), (1, 0, 0)],
'blue': [(0, 1, 1), (1, 1, 1)]})
imshow(a, cmap=myblue)
如需更多关于色图的细节,请查看此链接,这里是imshow的链接 - 或者直接使用help(colors.LinearSegmentedColormap)
和help(imshow)
。
alt text http://img522.imageshack.us/img522/6230/bluep.png
(请注意,这是使用标准选项的结果,您可以添加网格、更改过滤等)。
编辑
但我想在网格中显示数字
为了简单起见:
for i in xrange(0,5):
for j in xrange(0,5):
text(i, j,
"{0:5.2f}".format(a[i][j]),
horizontalalignment="center",
verticalalignment="center")