octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #56731] gnuplot uses multiplot mode (qt driver


From: Rik
Subject: [Octave-bug-tracker] [bug #56731] gnuplot uses multiplot mode (qt driver) by default in GUI but chooses a driver without multiplot in CLI
Date: Thu, 8 Aug 2019 11:54:51 -0400 (EDT)
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko

Update of bug #56731 (project octave):

                Severity:              3 - Normal => 2 - Minor              
                Priority:              5 - Normal => 3 - Low                
              Item Group:              Regression => Other                  
                 Summary: gnuplot set to multiplot mode in GUI Octave =>
gnuplot uses multiplot mode (qt driver) by default in GUI but chooses a driver
without multiplot in CLI

    _______________________________________________________

Follow-up Comment #1:

The issue is that some of the gnuplot backends don't work as well as others. 
See this code in __gnuplot_drawnow__.m


  ## Work around the gnuplot feature of growing the x11 window and
  ## flickering window (x11, windows, & wxt) when the mouse and
  ## multiplot are set in gnuplot.
  fputs (plot_stream, "unset multiplot;\n");
  flickering_terms = {"x11", "windows", "wxt", "dumb"};
  if (! any (strcmp (term, flickering_terms))
      || have_non_legend_axes (h)
      || numel (findall (h, "type", "image")) > 0)
    fprintf (plot_stream, "%s\n", term_str);
    if (nargin == 5)
      if (! isempty (file))
        fprintf (plot_stream, "set output '%s';\n", file);
      endif
    endif
    fputs (plot_stream, "set multiplot;\n");
  elseif (any (strcmp (term, flickering_terms)))
    fprintf (plot_stream, "%s\n", term_str);
    if (nargin == 5)
      if (! isempty (file))
        fprintf (plot_stream, "set output '%s';\n", file);
      endif
    endif
  endif
  if (! __gnuplot_has_feature__ ("dashtype"))
    fprintf (plot_stream, "set termoption dashed\n");
  endif
else
  ## gnuplot will pick up the GNUTERM environment variable itself
  ## so no need to set the terminal type if not also setting the
  ## figure title, enhanced mode, or position.
endif


Try setting the environment variable GNUTERM to your desired backend before
starting either the CLI or GUI version of Octave.  If you choose the qt
backend you will find that multiplot is set in the CLI as well.  Sample
session


~/wip/Projects_Mine/octave-stable: setenv GNUTERM qt
~/wip/Projects_Mine/octave-stable: octave-5.1.0 -f -q --no-gui

octave:1> graphics_toolkit gnuplot
octave:2> f = gcf();
octave:3> drawnow();
octave:4> stream = get(f, '__plot_stream__');
octave:5> fprintf(stream, 'show multiplot;\n');
octave:6> fflush(stream);
octave:7> multiplot mode is on




    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?56731>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]