# HG changeset patch # User Lars Kindermann # Date 1454271792 -3600 # Node ID 446bab5da2f755b5697d6334563b6c802378acfd # Parent a610c00dc55696031345e2bb8cb4d5b6d94d9a0e datetick.m: properly process keeplimits (bug #46484) * datetick.m: preserve axis limits when keeplimits was specified * contributors.in: add LarsKindermann to list of contributors diff -r a610c00dc556 -r 446bab5da2f7 doc/interpreter/contributors.in --- 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 diff -r a610c00dc556 -r 446bab5da2f7 scripts/plot/appearance/datetick.m --- 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;