gpt4 book ai didi

Python Matplotlib 点颜色

转载 作者:太空狗 更新时间:2023-10-30 01:29:38 26 4
gpt4 key购买 nike

我一直在研究使用传感器绘制温度图,想知道如何构建等高线/热图或根据 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 的有效值,所以我不确定我会在哪里指定它。

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

谢谢!

最佳答案

这就是scatter plot用于:

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()

请注意,参数与 plot 不同,并且大小比例不同。如果你想改变点的颜色,你可能想使用 scatter

cmap 参数

关于Python Matplotlib 点颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15554939/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com