我正在尝试生成一个同时使用轮廓和轮廓的绘图,它们都使用相同的颜色图,绘制相同的数据。但是,contourf 仅用于绘制以某种方式“显着”的数据(使用掩码数组)。同时,轮廓用于绘制所有数据。目的是生成一个所有信息都可用的图,但眼睛会被吸引到更重要的区域。
我几乎可以按照我的意愿进行这项工作,但是我发现轮廓线的颜色与轮廓线填充轮廓的颜色略有不同。
我猜这些差异来自这样一个事实,即轮廓颜色实际上是轮廓颜色之间的一半(这是有道理的,因为轮廓线被定义为一个值,例如 1、2 等,并且填充轮廓介于 1 和 2 之间,即“值”为 1.5 等)。
我将我的颜色图定义为
cmap = cm.coolwarm
cnorm=clrs.Normalize(cmap,clip=False)
cmap.set_under(color=cmap(0.0),alpha=1.0)
cmap.set_over(color=cmap(1.0),alpha=1.0)
我的轮廓水平,用于轮廓和轮廓是
clevs = [-3.,-2.,-1.,1.,2.,3.]
等高线绘制为
cplot=map.contour(x,y,diff,clevs,\
cmap=cmap,\
norm=cnorm,\
extend='both')
并且填充的轮廓被绘制为
cplot=map.contourf(x,y,true_mask,clevs,cmap=cmap,\
norm=cnorm,
extend='both')
是否有一种直接的方法可以让轮廓线的颜色“匹配”填充轮廓的颜色,即 1 处的线是 1-2 填充轮廓的颜色,2 处的线是 2 的颜色-3 填充轮廓,-1 处的线具有 -2--1 填充轮廓的颜色等?
非常感谢您的帮助。