我有一个向量x,它的长度是N=n**2=625,我把它绘制成一个矩阵,它本质上是一个2D地形图。
plt.imshow(x.reshape((n,n)),cmap="magma",origin="lower")
我还有一个给定的连通路径,它包含向量x的一些索引,例如path = np.array([1, 2, 27, 28, 54,55,56,81,106,131])。
我想用线条在热图的顶部显示这个,以表示路径。有什么办法吗?
发布于 2022-10-20 11:37:53
您可以使用numpy.unravel_index转换您的坐标:
import matplotlib.pyplot as plt
n=25
x = np.arange(n**2)
ax = plt.imshow(x.reshape((n,n)),cmap="magma",origin="lower", alpha=0.2)
X, Y = np.unravel_index(np.array([1, 2, 27, 28, 54,55,56,81,106,131]), (n, n))
plt.plot(Y, X)示例:

https://stackoverflow.com/questions/74138927
复制相似问题