# HG changeset patch # User Rik # Date 1380596151 25200 # Node ID 8a303b01cdd06d7b106137b273d6f69a6b3f1cba # Parent cc9befe5d2712ac6badd32aaa7c6602f976a62a9 grid.m: 'grid on' now also turns on minor grid for log scale axes. * scripts/plot/grid.m: When switching grid on, turn minor grid on for log scale axes. diff -r cc9befe5d271 -r 8a303b01cdd0 scripts/plot/grid.m --- a/scripts/plot/grid.m Mon Sep 30 16:50:41 2013 -0700 +++ b/scripts/plot/grid.m Mon Sep 30 19:55:51 2013 -0700 @@ -66,24 +66,26 @@ && strcmp (get (hax, "yminorgrid"), "on") && strcmp (get (hax, "zminorgrid"), "on")); + minor_auto = true; if (nargs == 0) grid_on = ! grid_on; else - x = varargin{1}; - if (! ischar (x)) + arg1 = varargin{1}; + if (! ischar (arg1)) error ("grid: argument 1 must be an axis handle or a string"); endif - if (strcmpi (x, "off")) + if (strcmpi (arg1, "off")) grid_on = false; - elseif (strcmpi (x, "on")) + elseif (strcmpi (arg1, "on")) grid_on = true; - elseif (strcmpi (x, "minor")) + elseif (strcmpi (arg1, "minor")) + minor_auto = false; if (nargs == 2) - x2 = varargin{2}; - if (strcmpi (x2, "on")) + arg2 = varargin{2}; + if (strcmpi (arg2, "on")) minor_on = true; grid_on = true; - elseif (strcmpi (x2, "off")) + elseif (strcmpi (arg2, "off")) minor_on = false; else print_usage (); @@ -103,6 +105,11 @@ set (hax, "xgrid", "on", "ygrid", "on", "zgrid", "on"); if (minor_on) set (hax, "xminorgrid", "on", "yminorgrid", "on", "zminorgrid", "on"); + elseif (minor_auto) + xmg = ifelse (strcmp (get (hax, "xscale"), "log"), "on", "off"); + ymg = ifelse (strcmp (get (hax, "yscale"), "log"), "on", "off"); + zmg = ifelse (strcmp (get (hax, "zscale"), "log"), "on", "off"); + set (hax, "xminorgrid", xmg, "yminorgrid", ymg, "zminorgrid", zmg); else set (hax, "xminorgrid", "off", "yminorgrid", "off", "zminorgrid", "off"); endif