From: Kevin Rosenberg Date: Mon, 3 Aug 2009 15:34:19 +0000 (-0600) Subject: Fix axis_scale when min==max X-Git-Tag: v5.0.6~8 X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=commitdiff_plain;h=9c4c37d49021bf576d69bae10042904b6d8167b5 Fix axis_scale when min==max --- diff --git a/libctgraphics/ezplot.cpp b/libctgraphics/ezplot.cpp index 099eff5..ca32b8f 100644 --- a/libctgraphics/ezplot.cpp +++ b/libctgraphics/ezplot.cpp @@ -1161,10 +1161,19 @@ EZPlot::symbol (int sym, double symwidth, double symheight) int EZPlot::axis_scale (double min, double max, int nint, double *minp, double *maxp, int *nintp) { - if (min >= max || nint < 1) { - sys_error (ERR_WARNING, "Invalid params: min=%lf, max=%lf, num intervals=%d [axis_scale]", min, max, nint); + if (nint < 1) { + sys_error (ERR_WARNING, "No intervals to plot: num intervals=%d [axis_scale]", nint); return (FALSE); } + if (min >= max) { + double scaled = fabs(max) / 10; + if (scaled == 0) + scaled = 0.1; + *minp = min - scaled; + *maxp = max + scaled; + *nintp = 2; + return (TRUE); + } double eps = 0.025; double a = fabs(min);