Matplotlib仅在绘图的特定区域中将网格绘制为颜色贴图

时间:2018-01-24 17:38:45

标签: python matplotlib colormap limits

我希望之前没有发布:我应该用一张山的图片绘制高度随时间的差异。但我应该只在某个区域(黑线)绘制色彩图。我将色彩图用于网格2年,并计算高度差。

我的结果:

plt.imshow(bild1, extent = [-1100,-200, 1500, 2100], cmap = "Greys_r")
plt.imshow(grid_delta, cmap = "jet", vmin = -5, vmax = 17, origin = "lower", extent = [-1100,-200,1500,2100])
plt.colorbar(boundaries = bounds, ticks = bounds)
plt.plot(studienbereich_x, studienbereich_y, "black", label="Studienbereich", linewidth = 2)
plt.xlim(-1100, -200)
plt.ylim(1500, 2100)
plt.savefig("example.png")

这就是我得到的:https://imgur.com/xgufo2M

这是我应该得到的:https://imgur.com/12RIIim

我还尝试在插入网格之前计算出需要区域内的数据点,但最终它并不适合该区域。

1 个答案:

答案 0 :(得分:0)

将您的代码更改为以下内容可能会解决您的问题:

fig = plt.imshow(
    grid_delta,
    cmap="jet",
    vmin=-5,
    vmax=17,
    origin="lower",
    extent=[-1100,-200,1500,2100]
)
cbar = plt.colorbar(fig)

参考: https://matplotlib.org/examples/pylab_examples/colorbar_tick_labelling_demo.html