0

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

4

1 回答 1

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

在此处输入图像描述

以上,plt.xlim(0, 50)被用来代替plt.xlim(0,100)仅仅强调变化。没有plt.xlim(0, 50)情节看起来像这样:

在此处输入图像描述

于 2012-12-10T20:41:44.330 回答