Mercurial > octave
changeset 21165:446bab5da2f7
datetick.m: properly process keeplimits (bug #46484)
* datetick.m: preserve axis limits when keeplimits was specified
* contributors.in: add LarsKindermann to list of contributors
author | Lars Kindermann |
---|---|
date | Sun, 31 Jan 2016 21:23:12 +0100 |
parents | a610c00dc556 |
children | 407c01ee1d9a |
files | doc/interpreter/contributors.in scripts/plot/appearance/datetick.m |
diffstat | 2 files changed, 18 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/doc/interpreter/contributors.in Sun Jan 31 08:10:59 2016 -0800 +++ b/doc/interpreter/contributors.in Sun Jan 31 21:23:12 2016 +0100 @@ -151,6 +151,7 @@ Joel Keay Mumit Khan Paul Kienzle +Lars Kindermann Aaron A. King Erik Kjellson Arno J. Klaassen
--- a/scripts/plot/appearance/datetick.m Sun Jan 31 08:10:59 2016 -0800 +++ b/scripts/plot/appearance/datetick.m Sun Jan 31 21:23:12 2016 +0100 @@ -144,17 +144,23 @@ else ## Need to do our own axis tick position calculation as ## year, etc, don't fallback on nice datenum values. - objs = findall (gca ()); - xmax = NaN; - xmin = NaN; - for i = 1 : length (objs) - fld = get (objs (i)); - if (isfield (fld, [ax "data"])) - xdata = getfield (fld, [ax "data"])(:); - xmin = min (xmin, min (xdata)); - xmax = max (xmax, max (xdata)); - endif - endfor + if (keeplimits) + limits=get (gca (), [ax "lim"]); + xmin=limits(1); + xmax=limits(2); + else + objs = findall (gca ()); + xmax = NaN; + xmin = NaN; + for i = 1 : length (objs) + fld = get (objs (i)); + if (isfield (fld, [ax "data"])) + xdata = getfield (fld, [ax "data"])(:); + xmin = min (xmin, min (xdata)); + xmax = max (xmax, max (xdata)); + endif + endfor + endif if (isnan (xmin) || isnan (xmax)) xmin = 0;