Mercurial > octave-nkf
comparison scripts/plot/axis.m @ 17426:aa380b380315
axis.m: Fix bug when data sets differ in size and dimension (bug #40036).
* scripts/plot/axis.m: Consolidate all data sets into a single column
vector before finding min/max for tight limits.
author | Rik <rik@octave.org> |
---|---|
date | Mon, 16 Sep 2013 09:15:24 -0700 |
parents | 6dbc866379e2 |
children | 15d592c82abc |
comparison
equal
deleted
inserted
replaced
17425:cc7815488981 | 17426:aa380b380315 |
---|---|
331 data = {data}; | 331 data = {data}; |
332 endif | 332 endif |
333 if (strcmp (scale, "log")) | 333 if (strcmp (scale, "log")) |
334 tmp = data; | 334 tmp = data; |
335 data = cellfun (@(x) x(x>0), tmp, "uniformoutput", false); | 335 data = cellfun (@(x) x(x>0), tmp, "uniformoutput", false); |
336 n = cellfun (@isempty, data); | 336 n = cellfun ("isempty", data); |
337 data(n) = cellfun (@(x) x(x<0), tmp(n), "uniformoutput", false); | 337 data(n) = cellfun (@(x) x(x<0), tmp(n), "uniformoutput", false); |
338 endif | 338 endif |
339 data = cellfun (@(x) x(isfinite (x)), data, "uniformoutput", false); | 339 data = cellfun (@(x) x(isfinite (x)), data, "uniformoutput", false); |
340 data = data(! cellfun ("isempty", data)); | 340 data = data(! cellfun ("isempty", data)); |
341 if (! isempty (data)) | 341 if (! isempty (data)) |
342 lims_min = min ([data{:}](:)); | 342 ## Change data from cell array of various sizes to a single column vector |
343 lims_max = max ([data{:}](:)); | 343 data = cat (1, cellindexmat (data, ":"){:}); |
344 lims = [lims_min, lims_max]; | 344 lims = [min(data), max(data)]; |
345 else | 345 else |
346 lims = [0, 1]; | 346 lims = [0, 1]; |
347 endif | 347 endif |
348 endif | 348 endif |
349 | 349 |