Matplotlib Slider Widget and changing colorbar threshold

matt.newville at gmail.com matt.newville at gmail.com
Wed Mar 13 06:46:43 EDT 2013


On Tuesday, March 12, 2013 9:06:20 AM UTC-5, kevin.... at gmail.com wrote:
> I am currently trying to work on a program that will allow the user to display their dataset in the form of a colormap and through the use of sliders, it will also allow the user to adjust the threshold of the colormap and thus update the colormap accordingly.  The best to describe this would be through the use of a picture:  ![enter image description here][1]
> 
> 
> 
> 
> 
>   [1]: http://i.stack.imgur.com/1T9Qp.png
> 
> 
> 
> 
> 
> This image shows how the colorbar should look before (the image on the left) and after (the image on the right) the adjustment.  As the threshold values of the colrobar are changed, the colormap would be updated accordingly.
> 
> 
> 
> Now I am mainly using matplotlib and I found that matplotlib does support some widgets, such as a slider.  However the area I need help in is devising a piece of code which will update the colorbar and colormap (like the way shown in the picture above) when the slider is adjusted.  I was wondering if anyone has done this before and might have a piece of code they would be willing to share and might have pointers as to how this can be achieved.

An example using wxPython and matplotlib:
   http://newville.github.com/wxmplot/imagepanel.html#examples-and-screenshots

might be close to what you're looking for.  This does allow the user to re-scale the intensity of the colorbar and the corresponding map, as well as change colormaps, smoothing, and explicitly set intensity ranges.  This image display frame might cover most of what you need -- if not, I'd be interested to hear what else might be useful.   

The specific code building the control is at https://github.com/newville/wxmplot/blob/master/lib/imageframe.py

Hope that helps,

--Matt Newville



More information about the Python-list mailing list