调整pcolormesh颜色条以聚焦于特定绘图区域?
我有一个叫做pcolormesh的图形实例,并且它有一个相关的颜色条。我们把我的数据点称为(X,Y),它们对应的值是Z=f(X,Y)。我的数据Z的范围很大,我想专注于(X,Y)空间中的一个特定区域,在这个区域内Z的变化要小得多。如果我只是简单地放大图表或者改变x轴和y轴的范围,那么颜色条就不会改变,这样我就无法区分我关注区域内的小变化(我希望颜色条能够根据这个小区域的范围进行调整)。
显然,我可以简单地删除所有在我关注区域之外的数据点,然后再绘制图表。但我在想有没有更好的方法来做到这一点,而不需要动数据。
1 个回答
2
你可以在 pyplot.pcolormesh
中设置两个关键字参数 vmin
和 vmax
:
from numpy import linspace,meshgrid,pi,cos,sin
from matplotlib.pyplot import figure, show
x=linspace(0,100);y=linspace(0,100)
X,Y=meshgrid(x,y)
Z=cos(3*pi*X)+sin(6*pi*Y)
fig=figure()
ax=fig.add_subplot(111)
pc=ax.pcolormesh(X,Y,Z,vmin=0.3,vmax=0.6)
fig.colorbar(pc)
show()
这样做会让超出你设定范围的数值变得饱和,也就是说它们都会显示成同一种颜色。祝你使用 matplotlib 愉快!