Mercurial > octave-nkf
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 |