绘制矩阵图

时间:2013-12-13 23:22:48

标签: python matplotlib

我想在matplotlib的矩阵图中绘制一条线,以突出显示矩阵中的特定条目。如何在与矩阵索引一致的位置创建一条线?

plt.imshow(matrix, cmap = cm.Greys_r)

ax2 = plt.axes([0,0,1,1], axisbg=(1,1,1,0))

x,y = numpy.array([[0.05, 0.1, 0.9], [0.05, 0.5, 0.9]])
line = lines.Line2D(x, y, lw=5., color='r', alpha=0.4)
line.set_clip_on(False)
ax2.add_line(line)

plt.show()

它显示了整个数字的一​​条线。如何将全局坐标x,y映射到矩阵图坐标? 感谢

1 个答案:

答案 0 :(得分:2)

以下是一个示例,您可以将线条添加到图像的轴中:

from matplotlib import pyplot as plt
import numpy as np

matrix = np.random.rand(100, 200)
matrix[30, 50] = 5.0
matrix[80, 150] = 5.0

plt.imshow(matrix, cmap = cm.Greys_r)

ax = plt.gca()

x,y = numpy.array([[50, 150], [30, 80]])
line = plt.Line2D(x, y, lw=5., color='r', alpha=0.4)
line.set_clip_on(False)
ax.add_line(line)

plt.show()

输出:

enter image description here