gpt4 book ai didi

Python实时变化的热图绘制

转载 作者:太空宇宙 更新时间:2023-11-03 14:22:43 27 4
gpt4 key购买 nike

我有一个 50*50 的二维网格。对于每个位置,我都有一个强度值(即数据就像 (x,y,intensity) 对于这 50*50 个位置中的每一个)。我想将数据可视化为热图。

不同之处在于,强度每秒都会发生变化(对于大多数位置),这意味着我需要每秒重新绘制热图。我想知道处理这种实时变化热图的最佳库/方法是什么。

最佳答案

这实际上取决于您获取数据的方式,但是:

import matplotlib.pyplot as plt
import numpy as np
import time

# create the figure
fig = plt.figure()
ax = fig.add_subplot(111)
im = ax.imshow(np.random.random((50,50)))
plt.show(block=False)

# draw some data in loop
for i in range(10):
# wait for a second
time.sleep(1)
# replace the image contents
im.set_array(np.random.random((50,50)))
# redraw the figure
fig.canvas.draw()

这应该以 1 秒的间隔绘制 11 个随机的 50x50 图像。最重要的部分是替换图像数据的 im.set_array 和将图像重新绘制到 Canvas 上的 fig.canvas.draw


如果您的数据确实是 (x, y, intensity) 形式的点列表,您可以将它们转换为 numpy.array:

import numpy as np

# create an empty array (NaNs will be drawn transparent)
data = np.empty((50,50))
data[:,:] = np.nan

# ptlist is a list of (x, y, intensity) triplets
ptlist = np.array(ptlist)
data[ptlist[:,1].astype('int'), ptlist[:,0].astype('int')] = ptlist[:,2]

关于Python实时变化的热图绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25385216/

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