Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 向matplotlib等高线图添加十字线或标记_Python_Python 2.7_Matplotlib - Fatal编程技术网

Python 向matplotlib等高线图添加十字线或标记

Python 向matplotlib等高线图添加十字线或标记,python,python-2.7,matplotlib,Python,Python 2.7,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.ma

我正在使用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)

我该怎么做呢?

如果你知道位置,你可以简单地画十字

[row, col] = numpy.where(array==np.max(array))
plt.plot(col, row, 'b+')

更改标记大小。

我添加了代码,使用6个增量为xs和ys垂直线和水平线显示b+标记的十字线

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()

您可以使用您选择的标记在该点进行绘图,或者使用
axvline
axhlin
创建指向轴边缘的交叉线。@tcaswell我不熟悉语法(由于某些原因找不到)。你知道或有链接吗?很好,现在如何添加垂直和水平线到这一点