我有一个功能需要将一张热力图覆盖在图像上,但是图像的原点以及x轴的刻度是特定的。因此我需要对热力图生成的位置进行调整,而一般热力图是直接给一个2D的数组直接以(0,0)为起点扩散的,因此需要进行一些改动。
原来随机生成的热力图代码
import numpy as np
import matplotlib.pyplot as plt
a = np.random.random((16, 16))
plt.imshow(a, cmap='hot', interpolation='nearest')
plt.show()
那我们如何把热力图移动呢?这就需要利用extent
这个参数,修改代码
import numpy as np
import matplotlib.pyplot as plt
extent = [10, 11, 2, 5]
a = np.random.random((16, 16))
plt.imshow(a, cmap='hot', extent=extent, interpolation='nearest')
plt.show()
可以看到修改后图片的起点,以及显示的宽度都发生了变化,这就是我们所需要的效果,如果要增加一个方块的宽度,只需要对输入矩阵shape进行调整即可。
将输入改为4*4,就可以看到变化