可以使用python / matplotlib的confourf来绘制有限的数据区域吗?

时间:2012-12-10 19:59:00

标签: python matplotlib contour

我试图用matplotlib的contourf制作轮廓图。有没有办法放大我的数据的特定区域,其余部分未开发?例如,也许我的水平范围从-1到101,但我只想绘制介于0和100之间的数据,包括我希望绘图的边界为0左边是100,右边是100。我认为“extent”关键字可以完成这项工作,但是在给出X和Y数据时它是无效的。我知道我可以通过各种方式掩盖无关数据,但这会使绘图的边界超出我感兴趣的区域,这不是我想要的。我想我也可以将我的数据过滤或插入到我感兴趣的区域,然后将过滤后的数据提供给contourf,但如果我可以将contourf焦点放在特定区域上,那将会更容易。感谢。

1 个答案:

答案 0 :(得分:1)

也许您正在寻找plt.xlim

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1,101,100)
y = np.linspace(-1,101,100)
x, y = np.meshgrid(x, y)
z = x*x+y*y
plt.figure()
plt.xlim(0, 50)
plt.contourf(x, y, z)
plt.show()

enter image description here

在上面,使用plt.xlim(0, 50)代替plt.xlim(0,100)只是为了强调变化。没有plt.xlim(0, 50),情节看起来像这样:

enter image description here