|
From: Benjamin R. <ben...@ou...> - 2012-12-19 16:08:50
|
On Sun, Dec 16, 2012 at 4:41 PM, David Huard <dav...@gm...> wrote: > Hi all, > > I'm wondering if anyone knows how to compute colorbar limits (vmin, vmax) > based only on the visible portion of the figure. My use-case is a > pcolormesh(x, y, z) drawn over a Basemap instance. The coordinates x and y > cover the entire globe, but I'm only mapping the Arctic. What happens is > that the normalization is done over the entire z array, while only a subset > of z actually appears on the map. The colors appearing on the map thus > cover only a small fraction of the entire color range. > > From what I managed to understand, pcolormesh creates a collections of > patches colorcoded based on the array attribute. So my question is if there > is a builtin way to know which items of this collections are clipped so I > can mask this part of the array ? > > Thanks a lot, > > David > > As far as I know, no, there is not a built-in way of doing so. There is the clipping mechanism to prevent drawing things outside of bounding boxes (used for easy zooming and panning among other things), but as far as I know, that is done mostly in the backends, and it doesn't provide information on which elements in the array was chosen drawn. I would suggest making a feature request on the github page, and hopefully, someone will have an epiphany on how to implement such a feature (maybe with the scalar mappable objects?). Cheers! Ben Root |