changeset 24365:bb993ab9f012

maint: merge stable to default.
author Rik <rik@octave.org>
date Wed, 06 Dec 2017 08:52:46 -0800
parents 4e746afab617 (current diff) 9cba59ee9564 (diff)
children 8bf013efffa3
files scripts/plot/util/private/__gnuplot_draw_axes__.m
diffstat 1 files changed, 17 insertions(+), 43 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/plot/util/private/__gnuplot_draw_axes__.m	Wed Dec 06 11:45:44 2017 -0500
+++ b/scripts/plot/util/private/__gnuplot_draw_axes__.m	Wed Dec 06 08:52:46 2017 -0800
@@ -607,7 +607,7 @@
         titlespec{data_idx} = "title \"\"";
         usingclause{data_idx} = sprintf ("binary array=%dx%d scan=yx origin=(%.15g,%.15g) dx=%.15g dy=%.15g using %s",
             x_dim, y_dim, x_origin, y_origin, dx, dy, format);
-        withclause{data_idx} = sprintf ("with %s;", imagetype);
+        withclause{data_idx} = sprintf ("with %s", imagetype);
 
       case "line"
         if (strcmp (get (obj.parent, "type"), "hggroup"))
@@ -1637,6 +1637,20 @@
   fputs (plot_stream, "unset colorbox;\n");
 
   if (have_data)
+    for i = 1:data_idx
+      ## Images can be obscured by background or foreground image
+      if (is_image_data (i))
+        if (bg_is_set)
+          fputs (plot_stream, "if (GPVAL_TERM eq \"qt\") unset obj 1;\n");
+          bg_is_set = false;
+        endif
+        if (fg_is_set)
+          fputs (plot_stream, "unset obj 2; \\\n");
+          fg_is_set = false;
+        endif
+        break;
+      endif
+    endfor
     if (nd == 2)
       plot_cmd = "plot";
     else
@@ -1672,13 +1686,6 @@
       fprintf (plot_stream, "%s \"-\" %s %s %s \\\n", plot_cmd,
                usingclause{1}, titlespec{1}, withclause{1});
     elseif (is_image_data (1))
-      if (numel (is_image_data) > 1 && is_image_data(2))
-        ## Remove terminating semicolon
-        n = max (strfind (withclause{1}, ";"));
-        if (! isempty (n))
-          withclause{1} = withclause{1}(1:n-1);
-        endif
-      endif
       fprintf (plot_stream, "%s \"-\" %s %s %s \\\n", plot_cmd,
                usingclause{1}, titlespec{1}, withclause{1});
     else
@@ -1690,41 +1697,8 @@
         fprintf (plot_stream, ", \"-\" %s %s %s \\\n",
                  usingclause{i}, titlespec{i}, withclause{i});
       elseif (is_image_data (i))
-        if (! is_image_data (i-1))
-          fputs (plot_stream, "; ");
-          if (bg_is_set)
-            fputs (plot_stream, "if (GPVAL_TERM eq \"qt\") unset obj 1;\n");
-            bg_is_set = false;
-          endif
-          if (fg_is_set)
-            fputs (plot_stream, "unset obj 2; \\\n");
-            fg_is_set = false;
-          endif
-          if (numel (is_image_data) > i && is_image_data(i+1))
-            ## Remove terminating semicolon
-            n = max (strfind (withclause{i}, ";"));
-            if (! isempty (n))
-              withclause{i} = withclause{i}(1:n-1);
-            endif
-          endif
-          fprintf (plot_stream, "%s \"-\" %s %s %s \\\n", plot_cmd,
-                   usingclause{i}, titlespec{i}, withclause{i});
-        else
-          ## For consecutive images continue with the same plot command
-          fprintf (plot_stream, "%s \"-\" %s %s %s \\\n", ",",
-                   usingclause{i}, titlespec{i}, withclause{i});
-        endif
-      elseif (is_image_data (i-1))
-        if (bg_is_set)
-          fputs (plot_stream, "if (GPVAL_TERM eq \"qt\") unset obj 1;\n");
-          bg_is_set = false;
-        endif
-        if (fg_is_set)
-          fputs (plot_stream, "unset obj 2; \\\n");
-          fg_is_set = false;
-        endif
-        fprintf (plot_stream,"%s \"-\" binary format='%%float64' %s %s %s \\\n",
-                 plot_cmd, usingclause{i}, titlespec{i}, withclause{i});
+        fprintf (plot_stream, "%s \"-\" %s %s %s \\\n", ",",
+                 usingclause{i}, titlespec{i}, withclause{i});
       else
         fprintf (plot_stream, ", \"-\" binary format='%%float64' %s %s %s \\\n",
                  usingclause{i}, titlespec{i}, withclause{i});