Mercurial > hg > octave-nkf
diff scripts/plot/__go_draw_axes__.m @ 7008:0058799917ac
[project @ 2007-10-11 17:17:02 by jwe]
author | jwe |
---|---|
date | Thu, 11 Oct 2007 17:17:03 +0000 |
parents | e78e31f0a236 |
children | fa4b43705e37 |
line wrap: on
line diff
--- a/scripts/plot/__go_draw_axes__.m +++ b/scripts/plot/__go_draw_axes__.m @@ -694,6 +694,9 @@ if (xautoscale && have_data) xlim = get_axis_limits (xmin, xmax, xminp, xlogscale); + if (isempty (xlim)) + return; + endif set (h, "xlim", xlim, "xlimmode", "auto"); else xlim = axis_obj.xlim; @@ -707,6 +710,9 @@ if (yautoscale && have_data) ylim = get_axis_limits (ymin, ymax, yminp, ylogscale); + if (isempty (ylim)) + return; + endif set (h, "ylim", ylim, "ylimmode", "auto"); else ylim = axis_obj.ylim; @@ -721,6 +727,9 @@ if (nd == 3) if (zautoscale && have_data) zlim = get_axis_limits (zmin, zmax, zminp, zlogscale); + if (isempty (zlim)) + return; + endif set (h, "zlim", zlim, "zlimmode", "auto"); else zlim = axis_obj.zlim; @@ -875,15 +884,14 @@ function lim = get_axis_limits (min_val, max_val, min_pos, logscale) if (logscale) - if (isinf (min_pos)) + if (isinf (min_pos) || isempty (min_pos)) + lim = []; warning ("axis: logscale with no positive values to plot"); + return; endif if (min_val <= 0) + warning ("axis: omitting nonpositive data in log plot"); min_val = min_pos; - if (max_val <= 0) - max_val = min_pos; - endif - warning ("axis: omitting nonpositive data in log plot"); endif ## FIXME -- maybe this test should also be relative? if (abs (min_val - max_val) < sqrt (eps))