在matplotlib等高线图中添加十字线或标记
我正在用matplotlib把一个NumPy数组画成等高线图:
import numpy as np
import matplotlib.pyplot as plt
plt.contour(array, linewidths = 1, colors = 'k')
plt.contourf(array, cmap = plt.cm.jet)
plt.colorbar()
plt.show()
我想加一个“十字线”或者其他标记,来表示数组中的最大值,这个最大值是由以下代码给出的:
maxi = np.max(array)
我该怎么做呢?
2 个回答
0
我添加了一段代码,用来显示一个十字准线,专门为b+标记使用的。这段代码通过6个增量来绘制垂直和水平的线条。
b1=1.8027335249990852
xs=[4]*6
ys=np.linspace(0,int(4*b1),6)
ys2=[int(4*b1)]*6
xs2=np.linspace(0,4,6)
plt.plot(xs, ys,'k-', linestyle = ":", lw=1)
plt.plot(xs2, ys2,'k-', linestyle = ":", lw=1)
plt.plot(4, 4*b1, 'b+')
plt.show()
8
如果你知道位置的话,可以很简单地画出一个十字。
[row, col] = numpy.where(array==np.max(array))
plt.plot(col, row, 'b+')
想要改变标记的大小,可以看看这个链接。