Python 如何设置为默认matplotlib等高线打印以始终标记等高线

Python 如何设置为默认matplotlib等高线打印以始终标记等高线,python,matplotlib,plot,contour,Python,Matplotlib,Plot,Contour,也许我在文档中遗漏了一些明显的东西 但当我第一次创建等高线图时,每条等高线都有标签。但是,默认情况下,matplotlib不会执行此操作。使用演示中给出的绘图,我在0.00和3.00之间生成了更多等高线: import numpy as np import matplotlib.mlab as mlab import matplotlib.pyplot as plt delta = 0.025 x = np.arange(-3.0, 3.0, delta) y = np.arange(-2.

也许我在文档中遗漏了一些明显的东西

但当我第一次创建等高线图时,每条等高线都有标签。但是,默认情况下,matplotlib不会执行此操作。使用演示中给出的绘图,我在
0.00
3.00
之间生成了更多等高线:

import numpy as np
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt

delta = 0.025
x = np.arange(-3.0, 3.0, delta)
y = np.arange(-2.0, 2.0, delta)
X, Y = np.meshgrid(x, y)
Z1 = mlab.bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0)
Z2 = mlab.bivariate_normal(X, Y, 1.5, 0.5, 1, 1)
# difference of Gaussians
Z = 10.0 * (Z2 - Z1)

plt.figure()
levels = np.arange(0.00, 3.00, 0.25)
CS = plt.contour(X, Y, Z, levels=levels)
plt.clabel(CS, inline=1, fontsize=10)
plt.xlim(0, 3)
plt.ylim(0, 2)
plt.show()
哪个输出

每条等高线都有清晰的标记。现在,让我们放大此轮廓的一个不同区域,即
((0.5,1.0),(0.5,1.0))

此输出显然没有标记


如何设置
plt.contour
以自动标记每条等高线

您可能需要像这样直接更改x和y:

x = np.arange(0.5, 1.0, delta)
y = np.arange(0.5, 1.0, delta)

此外,如果您在交互式绘图中进行缩放,您可以看到为什么需要这样做
plt.contour
显然可以计算出标签可以放在哪里,并将文本补丁放在那里,位置与数据绑定,字体大小与轴成比例。
x = np.arange(0.5, 1.0, delta)
y = np.arange(0.5, 1.0, delta)