Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Matplotlib点颜色_Python_Matplotlib_Heatmap - Fatal编程技术网

Python Matplotlib点颜色

Python Matplotlib点颜色,python,matplotlib,heatmap,Python,Matplotlib,Heatmap,我一直在研究用传感器绘制温度图,想知道如何根据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

我一直在研究用传感器绘制温度图,想知道如何根据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()
标记中的第三个值应该是点颜色。然而,当我绘制绘图时,它使用标记中的第一个值以相同的方式为每个点着色。是否可以设置点的cmap,以便我可以使用hot并将其与实际温度关联?当前点以浅紫色/淡紫色绘制,我认为这是默认的cmap。我看到cmap似乎不是plot的有效值,所以我不确定在哪里指定它

我真正想尝试并找出的另一种解决方案是使用等高线或histogram2d来显示热半径。可以在图像上绘图吗? 我看了一个例子,但我似乎无法正确地编辑它以使用实际值而不是随机函数。是否有人有他们过去使用过的替代解决方案/示例代码来满足我的要求?我对我找到的文档有点困惑

谢谢

这就是它的用途:

请注意,参数与
绘图不同,大小比例也不同。如果要更改点的颜色,可能需要使用
scatter
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)
scatter(x, y, marker='h', c=t, s=150)

colorbar()
show()