comparison src/graphics.cc @ 14324:5a2b012b10c7

allow zooming for logscale plots * graphics.cc (axes::properties::zoom_about_point): Allow zooming for logscale axes. * graphics.h.in (class neg_log_scaler): New class. (log_scalar::do_neg_scale): Delete (log_scalar::scale): Don't attempt to handle negative data. (axes::properties::get_scale): New function. (axes::properties::update_xscale, axes::properties::update_yscale, axes::properties::update_zscale): Use it. (axes::properties::update_xlim): Call update_xscale. (axes::properties::update_ylim): Call update_yscale. (axes::properties::update_zlim): Call update_zscale.
author John W. Eaton <jwe@octave.org>
date Fri, 03 Feb 2012 19:54:26 -0500
parents ec99c8c185be
children 63f1bdf08339
comparison
equal deleted inserted replaced
14323:ec99c8c185be 14324:5a2b012b10c7
6630 double maxy = -octave_Inf; 6630 double maxy = -octave_Inf;
6631 double min_pos_y = octave_Inf; 6631 double min_pos_y = octave_Inf;
6632 double max_neg_y = -octave_Inf; 6632 double max_neg_y = -octave_Inf;
6633 get_children_limits (miny, maxy, min_pos_y, max_neg_y, kids, 'y'); 6633 get_children_limits (miny, maxy, min_pos_y, max_neg_y, kids, 'y');
6634 6634
6635 if (! xscale_is ("log")) 6635 xlims = do_zoom (x, factor, xlims, xscale_is ("log"));
6636 xlims = do_zoom (x, factor, xlims, xscale_is ("log")); 6636 ylims = do_zoom (y, factor, ylims, yscale_is ("log"));
6637
6638 if (! yscale_is ("log"))
6639 ylims = do_zoom (y, factor, ylims, yscale_is ("log"));
6640 6637
6641 zoom (xlims, ylims, push_to_zoom_stack); 6638 zoom (xlims, ylims, push_to_zoom_stack);
6642 } 6639 }
6643 6640
6644 void 6641 void