[chimera-dev] examples of 2-D plotting in plugins?

Randy Heiland heiland at indiana.edu
Tue Dec 16 08:20:03 PST 2008

Hi Eric and others,

I've returned to this little exercise of trying to build matplotlib  
using Chimera and have a basic question:

- using the Chimera-1.3.2577-osx_aqua, when I bring up IDLE, I see:
Python 2.5.2 (r252:60911, Dec  9 2008, 02:00:10)
[GCC 4.0.1 (Apple Computer, Inc. build 5370)] on darwin

however, when I run Chimera's python manually, I see:

$ /Users/heiland/dev/Chimera-1.3.2577-osx_aqua.app/Contents/Resources/ 
Python 2.5.1 (r251:54869, Apr 18 2007, 22:08:04)
[GCC 4.0.1 (Apple Computer, Inc. build 5367)] on darwin

Why am I seeing 2 different Python builds?

One of the initial things I'm trying to resolve is the ability to  
'import Tkinter'.  I can do so from the former, but not the latter  
(even after setting sys.path to be what it is in the former).

thanks, Randy

On Nov 3, 2008, at 5:52 PM, Eric Pettersen wrote:

> FYI, the last paragraph of my reply below may be of general interest  
> to developers interested in plotting data...
> On Oct 31, 2008, at 10:09 AM, Randy Heiland wrote:
> Hi gang,
> For one of the Chimera plugins that I now maintain, I'm considering
> eliminating the use of matplotlib and wondering if Chimera's innards
> are capable of doing what I want.  For starters, are there any
> example plugins, etc that demonstrate how one could do simple
> plotting and simple (image) contours?  In addition, I'd need to
> handle mouse events, e.g. to retrieve x,y positions on the contour
> image.
> Hi Randy,
> I'm thinking that what Chimera currently provides will not be an  
> adequate replacement for the capabilities of matplotlib that  
> NLOPredict uses.  Aside from the basic Tk widgets themselves (the  
> most salient of which is Canvas) the only relevant widgets I can  
> think of is an interactive histogram widget in CGLtk.Histogram, and  
> a basic line/point plotting widget available through  
> Scientific.TkWidgets.TkPlotCanvas (Scientific.TkWidgets.TkPlotCanvas<http://dirac.cnrs-orleans.fr/ScientificPython/ScientificPythonManual/Scientific.TkWidgets.TkPlotCanvas-module.html 
> >).
> But I think NLOPredict needs interactive contour and bar graphs.  As  
> long as you can generate the contour image yourself somehow, I think  
> you can pretty easily gin up an interactive contour plot using the  
> Image item of Tk.Canvas.  As for the bar graph, would BLT (A User's  
> Guide to Pmw.Blt<http://heim.ifi.uio.no/~hpl/Pmw.Blt/doc/>) provide  
> enough functionality if we decided to provide that?  It seems to  
> provide bar charts (A complete reference to the Pmw.Blt plot widget<http://heim.ifi.uio.no/~hpl/Pmw.Blt/doc/reference.html%23bar_create(...) 
> >).  It also might or might not be easier for you to provide BLT for  
> NLOPredict as a stopgap measure.
> So the Chimera developers will be discussing possibly providing some  
> kind of plotting library at our next weekly meeting.  Clearly,  
> matplotlib is the "Cadillac" of plotting libraries.  And like a  
> Cadillac it has the downside of large size -- probably in the range  
> of 60-80MB before compression.  It also has the drawback of  
> depending on a lot of other packages which we would also have to  
> include and port to all our supported platforms, including 64-bit  
> versions thereof.  So I guess the question is whether we could get  
> away with including something smaller like BLT, which we would also  
> be able to deploy more quickly due to the lower effort involved, or  
> do people really need the unique capabilities of matplotlib?  Anybody?
> --Eric
>                        Eric Pettersen
>                        UCSF Computer Graphics Lab
>                        http://www.cgl.ucsf.edu

More information about the Chimera-dev mailing list