我一直在研究传感器的温度绘图,想要找到如何构建轮廓/热图或根据cmap编辑点的颜色?
我有以下非常基本的情节:
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
from pylab import *
figure(figsize=(15, 8))
# use ginput to select markers for the sensors
matplotlib.pyplot.hot()
markers = [(269, 792, 0.65), (1661, 800, 0.5), (1017, 457, 0.8)]
x,y,t = zip(*markers)
img = mpimg.imread('floor.png')
imgplot = plt.imshow(img, cmap=cm.hot)
plot(x, y, 'h', c=t, ms=15)
colorbar()
show()
Run Code Online (Sandbox Code Playgroud)
标记中的第3个值应该是点颜色.然而,当我制作绘图时,它使用标记中的第一个值以相同的方式着色每个点.是否可以设置点的cmap,以便我可以使用热并将其与实际温度相关联?当前点以紫色/淡紫色绘制,我认为是默认的cmap.我看到cmap似乎不是一个有效的情节值,所以我不确定在哪里指定它.
我真的想尝试找出的替代解决方案是使用等高线或histogram2d来显示热半径.可以在图像上绘图吗?我看了一下这个例子,但我似乎无法正确编辑它来使用实际值而不是随机函数.有没有人有他们过去使用的替代解决方案/示例代码,我正在寻找什么?我对我找到的文档感到困惑.
谢谢!
有人可以帮忙指出一种检索默认字典/字典中每个键的第一个值的方法吗?
例如,我有一个不太优雅的解决方案:
d = {'4089e04a': ['24.0', '24.0', '24.0', '23.93', '23.93
', '23.93'], '408b2e00': ['20.91', '33.33'], '408b2e0c': ['44.44']}
print d.values()[0][0]
print d.values()[1][0]
print d.values()[2][0]
Run Code Online (Sandbox Code Playgroud)
它确实有效-但有没有更好的方法,这样我不仅限于返回3个值?我不知道如何在单独指定每个键的范围内使其工作...
谢谢