Postscript bug?

set_figsize_inches will change the printed output,

    > although it does not seem to effect the screen size (is
    > this a bug?).

Yes. We need to abstract the set size request call across backends to
make it work properly, eg GTK's win.set_size_request. This should be
a FigureCanvas method. The base class should "pass" (ignore) and the
derived GUI classes should implement the proper GUI code. My
intuition is that the args to this function should be width, height in
pixels. The fig.set_figsize_inches will compute w,h in pixels and
call something like

  self.canvas.set_size_request(w,h)

where self is a Figure instance.

This has come up before in other contexts. If you could file this on
the sf site, it'll help keep it from falling through the cracks. If
you also can define the base class method in CVS and write the
docstring, that will help. Once/if you have done this, reply to the
list to ask other GUI backend maintainers to implement the behavior
for their respective GUIs.

Thanks,
JDH

If this API is being corrected I'd suggest adding a setting somewhere in
the api of the gui backends to allow setting an additional size and dpi
to be used when a user presses the save button on the toolbar (and give
this setting a default that fits onto both letter and A4 paper). This
behaviour is probably preferable for the majority of users (who want to
save things at a size they can print) and could be easily overridden
where it is not. Personally I would also find it useful to be able to
easily use gui tools to zoom and pan multiple plots and then to produce
outputs which are of a consistent size (although I'll probably produce
my own subclass of a backend to do this if others don't).

Whilst I'd be willing to produce a patch to do this myself it seems
better in this case for someone more familiar with the each of the
backends to do so.

Nick

···

On Thu, 2005-09-08 at 23:18 -0500, John Hunter wrote:

Yes. We need to abstract the set size request call across backends to
make it work properly, eg GTK's win.set_size_request. This should be
a FigureCanvas method. The base class should "pass" (ignore) and the
derived GUI classes should implement the proper GUI code. My
intuition is that the args to this function should be width, height in
pixels. The fig.set_figsize_inches will compute w,h in pixels and
call something like