biggles-plot / biggles

simple, elegant python plotting
http://biggles-plot.github.io
GNU General Public License v2.0
19 stars 4 forks source link

anti-aliased x11 viewer #64

Open esheldon opened 7 years ago

esheldon commented 7 years ago

The current x11 viewer shows a not anti-aliased view. It would be good if this could use AA, but that isn't supported in plotutils

I added a method _show_eps that can do this, but it requires writing an eps first, and using gs to view it. This is very slow over ssh and is interactive, so is a no go.

beckermr commented 7 years ago

I think Cairo with pygtk would fix this.

esheldon commented 7 years ago

On 3/6/17, Matthew R. Becker notifications@github.com wrote:

I think Cairo with pygtk would fix this.

I don't think we should require gtk, pretty heavy and lots of systems don't have it installed, and not pip installable.

One of the nice things about plotutils is it doesn't require any gui framework at all, just requires the X11 lib.

But we might be able to compromise and use something that is pip installable; maybe tkinter? Although that does require tcl installation as well.

-- You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: https://github.com/biggles-plot/biggles/issues/64#issuecomment-284413324

-- Erin Scott Sheldon Brookhaven National Laboratory erin dot sheldon at gmail dot com

beckermr commented 7 years ago

I see what you mean. For Cairo, you don't get X11 window management without pygtk.

We could bundle plotuitls source code and have the Cairo backend be optional.

beckermr commented 7 years ago

This would render the whole thing pip installable while allowing us to use a modern lib for notebooks etc.

esheldon commented 7 years ago

bundling plotutils is possible; I bundled cfitsio for the fitsio package. It doesn't take too much work. And since plotutils is no longer maintained, we don't have to worry about it getting out of date :)

In fact we would likely want to make modifications. I wonder if we could add some kind of simple anti-aliasing to the X11 view at the cost of some speed.

beckermr commented 7 years ago

I went down the modify plotutils road. It is a bear and prob not worth the time. Better to move to a new backend that supports an alpha channel, etc.

esheldon commented 7 years ago

I agree the code is difficult to work with.

Other backends could also support 3d images which would be nice (pyx does).

But it will be significant work in any case; for pyx we need some kind of viewer, either spawn to an external viewer (simple in OSX, just call open, a bit more work for linux) or hack up a simple X11 viewer (could rip this code from plotutils?). For pycairo we need to work around the case where gtk isn't available. etc.