在Python中创建信息图

我想在python中创建一个简单的信息图. Matplotlib似乎有很多功能,但没有什么能覆盖我简单的热图网格示例.

信息图是一个简单的5 x 5网格,数字在0到1之间.然后网格方块将被着色为0 =白色1 =蓝色0.5是淡蓝色.

可能会使用Matplotlib,但我无法找到或组合任何能够深入了解这一点的示例.

任何见解,示例代码或库方向都会有所帮助

问候
马特

解决方法:

这取决于您拥有图形后需要做什么,Matplotlib允许您以交互方式在屏幕上显示图形,将其保存为矢量,pdf或位图格式等等.

如果你选择这个框架,imshow会做你需要的,这是一个例子:

# Just some data to test:
from random import gauss
a = [[gauss(0, 10) for i in xrange(0, 5)] for j in xrange(0,5)]

from pylab import * # or just launch "IPython -pylab" from the command line

# We create a custom colormap:
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)]})

# Plotting the graph:
imshow(a, cmap=myblue)

有关colormap check this link的更多详细信息,这里是link for imshow – 或者只是使用help(colors.LinearSegmentedColormap)和help(imshow).

alt text http://img522.imageshack.us/img522/6230/bluep.png

(注意,这是标准选项的结果,您可以添加网格,更改过滤等).

编辑

however I’m looking to display the
numbers in the grid

为了简单起见:

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")
上一篇:如何在javascript中生成具有已知中心和半径的随机Lat-lng值?


下一篇:javascript – 转换ArcGis地理坐标Lat Long wkid:4326到投影坐标wkid:102000/3857