Qalculate / qalculate-gtk

Qalculate! GTK+ UI
https://qalculate.github.io/
GNU General Public License v2.0
980 stars 72 forks source link

Another plot mode, using x11 terminal. #40

Closed nick87720z closed 3 years ago

nick87720z commented 6 years ago

I prefer create separate issues, so that if some is done, it may be closed without waiting others.

There i propose to utilize x11 terminal, which is default, when gnuplot is started by command line. It is not smoothed, but lines are printed properly, to not look like with unexpectedly failed smoothing. And closely reason, to proposed it, is that it allowes to see, what is out of initially specified window scope. Also, when i tried in this mode, combining of range -10..10 with sampe rate 1000 did not even make it slow, unlike current variant, used in qalculate.

Thus, there may be choice between available backends, each with its trong sides (really infinite range for x11 and antialiasing/alpha for pngcairo). This of course, should be disabled with non-x11 systems, like win, mac, or simply wayland env.

hanna-kn commented 6 years ago

Qalculate! uses the default gnuplot terminal (it is not set). On my system this is qt (which seems nicer than x11).

nick87720z commented 6 years ago

I have gnuplot 5.2.2. There is no qt terminal, and when i start it from cmdline, default is x11. There is output from "set terminal" command:

Available terminal types:
       cairolatex  LaTeX picture environment using graphicx package and Cairo backend
           canvas  HTML Canvas object
              cgm  Computer Graphics Metafile
          context  ConTeXt with MetaFun (for PDF documents)
          domterm  DomTerm terminal emulator with embedded SVG
             dumb  ascii art for anything that prints text
              dxf  dxf-file for AutoCad (default size 120x80)
            eepic  EEPIC -- extended LaTeX picture environment
              emf  Enhanced Metafile format
            emtex  LaTeX picture environment with emTeX specials
         epscairo  eps terminal based on cairo
         epslatex  LaTeX picture environment using graphicx package
              fig  FIG graphics language for XFIG graphics editor
              gif  GIF images using libgd and TrueType fonts
             hpgl  HP7475 and relatives [number of pens] [eject]
             jpeg  JPEG images using libgd and TrueType fonts
            latex  LaTeX picture environment
               mf  Metafont plotting standard
               mp  MetaPost plotting standard
             pcl5  HP Designjet 750C, HP Laserjet III/IV, etc. (many options)
         pdfcairo  pdf terminal based on cairo
              png  PNG images using libgd and TrueType fonts
         pngcairo  png terminal based on cairo
       postscript  PostScript graphics, including EPSF embedded files (*.eps)
          pslatex  LaTeX picture environment with PostScript \specials
            pstex  plain TeX with PostScript \specials
         pstricks  LaTeX picture environment with PSTricks macros
              qms  QMS/QUIC Laser printer (also Talaris 1200 and others)
            regis  REGIS graphics language
          sixelgd  sixel using libgd and TrueType fonts
              svg  W3C Scalable Vector Graphics
          tek40xx  Tektronix 4010 and others; most TEK emulators
          tek410x  Tektronix 4106, 4107, 4109 and 420X terminals
          texdraw  LaTeX texdraw environment
             tgif  TGIF X11 [mode] [x,y] [dashed] ["font" [fontsize]]
         tkcanvas  Tk canvas widget
             tpic  TPIC -- LaTeX picture environment with tpic \specials
          unknown  Unknown terminal type - not a plotting device
            vttek  VT-like tek40xx terminal emulator
              x11  X11 Window System interactive terminal
             xlib  X11 Window System (dump of gnuplot_x11 command stream)
            xterm  Xterm Tektronix 4014 Mode

P.S. I made benchmark for pure gnuplot in x11 term mode. Zoom began to slowdown only begining with samples=100000. Am i right, that qalculate renders all on own side, supplying raw data to gnuplot?

hanna-kn commented 6 years ago

In that case Qalculate! uses the x11 terminal by default. I doubt that any other terminal would produce a window with a graph. Gnuplot is not always compiled with Qt support

nick87720z commented 6 years ago

Oh yeah, i see it. Did not care about that yet. Also there is wxwidgets. I if they both are for new term - i guess they should have some options to usd antialiasing. More over, when qt is qt5). Will try both.

Upd: I got them, both are awesome :) by some reason it prefers qt over wxt, fixable with GNUTERM env var :) I also as well wonder, that gnuplot windows builds may don't have some of these backens