The show() function works fine. But newbies ...
> 1. There are two different toolbars that can be selected by
> '.matplotlibrc': "classic" and "toolbar2" I tried both and
> there is no "close figure" button. The only way I found to
> close the figure was to press the mouse in the window upper
> right corner. Is it possible to "customize" the toolbar
> icon menu?
Currently, there is no way to do this without hacking into the src
code of your backend of choice. There used to be a close button, but
Steve Chaplin pointed me to some user interface docs from GNOME which
argued that it is a bad idea to put close buttons on toolbars, and so
I removed them. There has been a discussion and partial
implementation of customizable toolbars on the devel list. This will
happen eventually.
> 2. How can I pre-assign a window size/position? When I
> issue the show() function the window position and size
> assume default values. How can I change these values?
> 3. When I issue the show() function, the window opens with
> the names "Figure 1", "Figure 2", etc How can I custumize
> the window name?
> 4. Is it possible to change the window attributes (eg.,
> modal or not, enable/disable minimize)?
The only way currently to control the window size from the matlab
interface is to set the figure size with the figsize option, eg
figure(figsize=(10,12)). However, you can set window properties in a
backend dependent manner with the figure manager instance.
manager = get_current_fig_manager()
backend_gtk* : manager.window is a gtk.Window instance
backend_wx* : manager.frame is a wxFrame instance
backend_tkagg : manager.window is a Tk.Tk() instance
backend_fltkagg : manager.window is a Fltk.Fl_Double_Window
Thus to set the title in a gtk* backend, you could do
manager = get_current_fig_manager()
manager.window.set_title('hi mom')
Of course, now your scripts won't work with other matplotlib
backends.
In theory, we could abstract the essential window calls and expose
them in a GUI neutral manner. We are trying to resist the urge to
become a GUI wrapping library so we can focus on being a plotting
library.
If you need a lot of control over GUI properties, you may want to skip
the matlab interface and use the matplotlib API directly, eg build a
GTK app which embeds matplotlib. See examples/embedding_in*.py in the
matplotlib src distribution or at http://matplotlib.sf.net/examples
explaining how to embed matplotlib in your GUI of choice.
Cheers,
JDH