Mercurial > octave
view scripts/plot/appearance/ytickangle.m @ 29024:447beb85551d
Add ytickangle and ztickangle functions (bug #59067)
* scripts/plot/appearance/ytickangle.m: New function.
* scripts/plot/appearance/ztickangle.m: New function.
* scripts/plot/appearance/module.mk: Add ytickangle.m, ztickangle.m to build
system.
* NEWS: Announce addition of xtickangle, ytickangle, ztickangle functions.
* doc/interpreter/plot.txi: Add xtickangle to manual and XREF anchors for
ytickangle and ztickangle.
* __unimplemented__.m: Remove xtickangle, ytickangle, ztickangle from
unimplemented list.
* __tickangle__.m: Fix empty figure popping up during BIST tests.
author | Rik <rik@octave.org> |
---|---|
date | Wed, 04 Nov 2020 20:18:11 -0800 |
parents | |
children | 7854d5752dd2 |
line wrap: on
line source
######################################################################## ## ## Copyright (C) 2020 The Octave Project Developers ## ## See the file COPYRIGHT.md in the top-level directory of this ## distribution or <https://octave.org/copyright/>. ## ## This file is part of Octave. ## ## Octave is free software: you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by ## the Free Software Foundation, either version 3 of the License, or ## (at your option) any later version. ## ## Octave is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with Octave; see the file COPYING. If not, see ## <https://www.gnu.org/licenses/>. ## ######################################################################## ## -*- texinfo -*- ## @deftypefn {} {@var{angle} =} ytickangle () ## @deftypefnx {} {@var{angle} =} ytickangle (@var{hax}) ## @deftypefnx {} {} ytickangle (@var{angle}) ## @deftypefnx {} {} ytickangle (@var{hax}, @var{angle}) ## Query or set the rotation angle of the tick labels on the y-axis of the ## current axes. ## ## When called without an argument, return the rotation angle in degrees of the ## tick labels as specified in the axes property @qcode{"YTickLabelRotation"}. ## When called with a numeric scalar @var{angle}, rotate the tick labels ## counterclockwise to @var{angle} degrees. ## ## If the first argument @var{hax} is an axes handle, then operate on this axes ## rather than the current axes returned by @code{gca}. ## ## Programming Note: Requesting a return value while also setting a specified ## rotation will result in an error. ## ## @seealso{xtickangle, ztickangle, get, set} ## @end deftypefn function retval = ytickangle (hax, angle) switch (nargin) case 0 retval = __tickangle__ (mfilename ()); case 1 if (nargout > 0) retval = __tickangle__ (mfilename (), hax); else __tickangle__ (mfilename (), hax); endif case 2 if (nargout > 0) retval = __tickangle__ (mfilename (), hax, angle); else __tickangle__ (mfilename (), hax, angle); endif endswitch endfunction %!test %! hf = figure ("visible", "off"); %! hax = axes (hf); %! unwind_protect %! ytickangle (45); %! assert (ytickangle (), 45); %! ytickangle (hax, 90); %! a1 = ytickangle (); %! a2 = ytickangle (hax); %! assert (a1, a2); %! assert (a1, 90); %! unwind_protect_cleanup %! close (hf); %! end_unwind_protect ## Test input validation %!error <HAX must be a handle to an axes object> ytickangle (0, 45) %!error <ANGLE must be .* scalar> ytickangle (eye (2)) %!error <ANGLE must be .* numeric> ytickangle ({90}) %!error <ANGLE must be .* finite> ytickangle (Inf) %!error <called with output query and input set value> ang = ytickangle (45)