Python 3.x 如何扩大等高线的范围 问题

Python 3.x 如何扩大等高线的范围 问题,python-3.x,matplotlib,python-3.6,Python 3.x,Matplotlib,Python 3.6,下面的代码几乎按照我的要求绘制等高线图。结果的问题是,我不知道如何扩大绘制等高线(或彩色地图的颜色)的范围 我设置了colors='k',以确保白色背景上没有线条消失。 我试图用CS.set\u clim(0.01,0.4)修改轮廓线范围。即使CS.set\u clim(0.01,0.1)也不会更改图像。我希望>=.1行消失 import numpy as np from scipy import stats as ss from matplotlib import pyplot as plt

下面的代码几乎按照我的要求绘制等高线图。结果的问题是,我不知道如何扩大绘制等高线(或彩色地图的颜色)的范围

我设置了
colors='k'
,以确保白色背景上没有线条消失。 我试图用
CS.set\u clim(0.01,0.4)
修改轮廓线范围。即使
CS.set\u clim(0.01,0.1)
也不会更改图像。我希望>=.1行消失

import numpy as np
from scipy import stats as ss
from matplotlib import pyplot as plt
x, y = np.mgrid[-2.5:2.5:.01, -2.5:2.5:.01]
pos = np.dstack((x, y))
rv = ss.multivariate_normal([0.0, 0.0], [[1.0, 0.], [0., 1.]])
plt.figure()
CS = plt.contour(x, y, rv.pdf(pos), colors = 'k')
CS.set_clim(0.01,0.4)
plt.clabel(CS, inline=1, fontsize=10)
plt.show()

如何定义等高线的显示范围?
非常感谢您的帮助。

我只需将kazemakase对我的问题给出的答案发布在评论中,这样我就可以将其标记为已解决。 可以使用
plt.contour()
中的
levels
关键字设置标高。如果需要规则间隔的等高线,可以使用。
levels=[rv.pdf(q)表示np.arange中的q(2.0,0.0,-0.1)]
。我使用负增量来计算PDF,因为绘图函数需要增加级别

import numpy as np
from scipy import stats as ss
from matplotlib import pyplot as plt
x, y = np.mgrid[-2.5:2.5:.01, -2.5:2.5:.01]
pos = np.dstack((x, y))
rv = ss.multivariate_normal([0.0, 0.0], [[1.0, 0.], [0., 1.]])
levels = [rv.pdf(q) for q in np.arange(2.0, 0.0, -0.1)]
plt.figure()
CS = plt.contour(x, y, rv.pdf(pos), levels = levels)
plt.clabel(CS, inline=1, fontsize=10)
plt.show()

可能不完全是您想要的,但通过设置
级别
,您可以非常具体地绘制哪些等高线。例如:
plt.contour(x,y,rv.pdf(pos),colors='k',levels=np.linspace(0.01,0.1,10))
谢谢你,kazemakase。这很可能就是解决办法。我想我还不明白设置clim()。你可能把“clim”理解为我们的极限吗?事实并非如此。它实际上代表颜色限制,用于设置显示图像时映射到颜色贴图的值的范围。我不知道它是否对
countour
tourtf
有影响。