Mat*_*ock 6 python grid charts matplotlib heatmap
我想在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)
Run Code Online (Sandbox Code Playgroud)
有关颜色图的更多详细信息,请检查此链接,这里是imshow 的链接- 或者只需使用help(colors.LinearSegmentedColormap)和help(imshow)。
替代文本 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")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4872 次 |
| 最近记录: |