Hacker News new | past | comments | ask | show | jobs | submit login

Is there such a tool for use with python? preferably matplotlib compatible. I often find myself needing to plot some data to get a quick idea of what it looks like, and my work is generally on a remote host. Having to open a new ssh session with X forwarding is not difficult but a more frictionless approach would be nice.



If you happen to use `iTerm2`, then https://github.com/daleroberts/itermplot works very well. I've used it before and can recommend it pretty highly.


Is iTerm2 GPU accelerated? Wasn't aware it could do that kind of thing. I didn't use it in years, admittedly, haven't had a Mac for a while.


You don't really need GPU acceleration for 2d graphics (and neither for simple 3D). The CPU is more than enough for that.


I understand, but without some kind of direct rendering going on, I can't see how this would work on a terminal emulator.


> without some kind of direct rendering going on, I can't see how this would work on a terminal emulator.

Nah.

You just dump the pixels one by one to the screen using a for loop. You can even do some cpu math with each pixel if you want, and at the end you call XPutImage with the raster (or whatever your toolkit offers). This runs at more than 30fps in fullhd on a 10 year old cpu.

Notice that xterm is blazingly fast and runs entirely on the cpu. Think about it, the plots that this iterm2 demo shows were already done in realtime in the late nineties using the first pentium cpus.

The GPU is not really needed for the basic stuff a terminal emulator does. Of course, if you want to do crazy stuff like scaling by enormous factors, or ultra-fast scroll without skipping tricks, you'll need GPU support.


I see. I'm not nearly qualified enough to talk about that, admittedly. Drawing the pixels isn't the problem, it's updating them fast enough, then?


I guess there is no problem? You only need the gpu to compute fancy 3d graphics in high resolution. For normal terminal stuff and low resolution plots, anything should work.


iTerm2 is GPU accelerated since 2018, yes. Other terminals on Mac that I know of (Kitty, Alacritty, Warp) are also GPU accelerated.


If you use euporie [1], you can draw plots in a Jupyter notebook in the terminal using matotlib and friends, and have them displayed using terminal graphics.

[1] https://github.com/joouha/euporie



There are [1, 2], and AFAICT they rely on gnuplot [3].

[1] https://github.com/nschloe/termplotlib [2] https://github.com/dkogan/gnuplotlib [3] http://www.gnuplot.info/


The last time I used gnuplot was around 25 years ago. And it is still around!


A few years ago, you had to recompile it to add sixel support on debian, so I provided https://github.com/csdvrx/sixel-gnuplot

Now it's included by default IIRC


Have a look at Uniplot - https://github.com/olavolav/uniplot




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: