Mercurial > hg > octave-nkf
changeset 19083:fee51895ffe1
grid.m: Use '-' linestyle for major axis grid when minor grid is on.
For Matlab compatibility, turn off major grid on log scale axes when minor
grid is also on.
* grid.m: Use '-' linestyle for major axis grid when minor grid is on.
For Matlab compatibility, turn off major grid on log scale axes when minor
grid is also on. Add new %!demo to show behavior.
author | Rik <rik@octave.org> |
---|---|
date | Thu, 03 Jul 2014 14:10:35 -0700 |
parents | 2420a4f22998 |
children | 24332f256940 |
files | scripts/plot/appearance/grid.m |
diffstat | 1 files changed, 29 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/scripts/plot/appearance/grid.m +++ b/scripts/plot/appearance/grid.m @@ -58,13 +58,10 @@ print_usage (); endif - grid_on = ( strcmp (get (hax, "xgrid"), "on") - && strcmp (get (hax, "ygrid"), "on") - && strcmp (get (hax, "zgrid"), "on")); + grid_on = any (strcmp (get (hax, {"xgrid", "ygrid", "zgrid"}), "on")); - minor_on = ( strcmp (get (hax, "xminorgrid"), "on") - && strcmp (get (hax, "yminorgrid"), "on") - && strcmp (get (hax, "zminorgrid"), "on")); + minor_on = any (strcmp (get (hax, {"xminorgrid", "yminorgrid", "zminorgrid"}), + "on")); minor_auto = true; if (nargs == 0) @@ -102,9 +99,15 @@ endif if (grid_on) - set (hax, "xgrid", "on", "ygrid", "on", "zgrid", "on"); + set (hax, "xgrid", "on", "ygrid", "on", "zgrid", "on", + "gridlinestyle", ":"); if (minor_on) - set (hax, "xminorgrid", "on", "yminorgrid", "on", "zminorgrid", "on"); + set (hax, "xminorgrid", "on", "yminorgrid", "on", "zminorgrid", "on", + "gridlinestyle", "-", "minorgridlinestyle", ":"); + xg = ifelse (strcmp (get (hax, "xscale"), "log"), "off", "on"); + yg = ifelse (strcmp (get (hax, "yscale"), "log"), "off", "on"); + zg = ifelse (strcmp (get (hax, "zscale"), "log"), "off", "on"); + set (hax, "xgrid", xg, "ygrid", yg, "zgrid", zg); elseif (minor_auto) xmg = ifelse (strcmp (get (hax, "xscale"), "log"), "on", "off"); ymg = ifelse (strcmp (get (hax, "yscale"), "log"), "on", "off"); @@ -133,8 +136,26 @@ %! title ('grid on'); %! subplot (2,2,3); %! plot (1:100); +%! grid off; +%! title ('no grid'); +%! subplot (2,2,4); +%! plot (1:100); %! grid minor; %! title ('grid minor'); + +%!demo +%! subplot (2,2,1); +%! semilogy (1:100); +%! grid off; +%! title ('no grid'); +%! subplot (2,2,2); +%! semilogy (1:100); +%! grid on; +%! title ('grid on'); +%! subplot (2,2,3); +%! semilogy (1:100); +%! grid off; +%! title ('no grid'); %! subplot (2,2,4); %! semilogy (1:100); %! grid minor;