Mercurial > hg > octave-nkf
annotate scripts/plot/pie3.m @ 13703:22ce748da25f
Add missing UI objects: uicontextmenu, uitoolbar, uipushtool and uitoggletool.
* graphics.h.in (uicontextmenu, uitoolbar, uipushtool, uitoggletool): New
graphic object classes.
(uicontrol::properties::cdata): Allow "single" and "uint8" data.
* graphics.cc (uitoolbar): New class implementation.
* gl-render.cc (opengl_renderer::draw): Skip new object types.
* plot/private/__uiobject_split_args__.m: Don't use varargin. Add parent_type
and use_gcf arguments. Check that number of arguments is a multiple of 2.
* plot/uicontrol.m: Adapt call to __uiobject_split_args__.
* plot/uipanel.m: Likewise.
* plot/uimenu.m: Rewrite to use __uiobject_split_args__.
* plot/uicontextmenu.m: New file.
* plot/uitoolbar.m: Likewise.
* plot/uipushtool.m: Likewise.
* plot/uitoggletool.m: Likewise.
* plot/modules.mk (plot_FCN_FILES): Add uicontextmenu.m, uitoolbar.m,
uipushtool.m and uitoggletool.m.
author | Michael Goffioul <michael.goffioul@gmail.com> |
---|---|
date | Fri, 14 Oct 2011 23:19:06 +0100 |
parents | 68ac95d2460c |
children | 5f0bb45e615c |
rev | line source |
---|---|
11523 | 1 ## Copyright (C) 2007-2011 David Bateman |
11330 | 2 ## Copyright (C) 2010 Kai Habel |
3 ## | |
4 ## This file is part of Octave. | |
5 ## | |
6 ## Octave is free software; you can redistribute it and/or modify it | |
7 ## under the terms of the GNU General Public License as published by | |
8 ## the Free Software Foundation; either version 3 of the License, or (at | |
9 ## your option) any later version. | |
10 ## | |
11 ## Octave is distributed in the hope that it will be useful, but | |
12 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
14 ## General Public License for more details. | |
15 ## | |
16 ## You should have received a copy of the GNU General Public License | |
17 ## along with Octave; see the file COPYING. If not, see | |
18 ## <http://www.gnu.org/licenses/>. | |
19 | |
20 ## -*- texinfo -*- | |
11341
3c7ba1e3dc21
Add missing option slice for pie and pie3
Kai Habel <kai.habel@gmx.de>
parents:
11330
diff
changeset
|
21 ## @deftypefn {Function File} {} pie3 (@var{x}) |
3c7ba1e3dc21
Add missing option slice for pie and pie3
Kai Habel <kai.habel@gmx.de>
parents:
11330
diff
changeset
|
22 ## @deftypefnx {Function File} {} pie3 (@var{x}, @var{explode}) |
11330 | 23 ## @deftypefnx {Function File} {} pie3 (@dots{}, @var{labels}) |
24 ## @deftypefnx {Function File} {} pie3 (@var{h}, @dots{}); | |
25 ## @deftypefnx {Function File} {@var{h} =} pie3 (@dots{}); | |
12344
68ac95d2460c
Periodic grammarcheck of documentation.
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
26 ## Draw a 3-D pie chart. |
11330 | 27 ## |
11563
3c6e8aaa9555
Grammarcheck m-files before 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
28 ## Called with a single vector argument, produces a 3-D pie chart of the |
11330 | 29 ## elements in @var{x}, with the size of the slice determined by percentage |
30 ## size of the values of @var{x}. | |
31 ## | |
32 ## The variable @var{explode} is a vector of the same length as @var{x} that | |
33 ## if non zero 'explodes' the slice from the pie chart. | |
34 ## | |
35 ## If given @var{labels} is a cell array of strings of the same length as | |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11563
diff
changeset
|
36 ## @var{x}, giving the labels of each of the slices of the pie chart. |
11330 | 37 ## |
38 ## The optional return value @var{h} provides a handle list to patch, surface | |
39 ## and text objects generating this plot. | |
40 ## | |
41 ## @seealso{pie, bar, stem} | |
42 ## @end deftypefn | |
43 | |
44 ## Very roughly based on pie.m from octave-forge whose author was | |
45 ## Daniel Heiserer <Daniel.heiserer@physik.tu-muenchen.de> | |
46 | |
47 function retval = pie3 (varargin) | |
48 | |
49 [h, varargin] = __plt_get_axis_arg__ ("pie", varargin{:}); | |
50 | |
51 if (nargin < 1) | |
52 print_usage (); | |
53 else | |
54 oldh = gca (); | |
55 unwind_protect | |
56 axes (h); | |
57 newplot (); | |
58 tmp = __pie__ ("pie3", h, varargin{:}); | |
59 unwind_protect_cleanup | |
60 axes (oldh); | |
61 end_unwind_protect | |
62 endif | |
63 | |
64 if (nargout > 0) | |
65 retval = tmp; | |
66 endif | |
67 | |
68 endfunction | |
69 | |
70 %!demo | |
71 %! pie3 ([5:-1:1], [0, 0, 1, 0, 0]); | |
72 %! colormap([1,0,0;0,1,0;0,0,1;1,1,0;1,0,1;0,1,1]); | |
73 | |
74 %!demo | |
75 %! pie3 ([3, 2, 1], [0, 0, 1], {"Cheddar", "Swiss", "Camembert"}); | |
76 %! colormap([1,0,0;0,1,0;0,0,1;1,1,0;1,0,1;0,1,1]); | |
77 %! axis ([-2,2,-2,2]); | |
11341
3c7ba1e3dc21
Add missing option slice for pie and pie3
Kai Habel <kai.habel@gmx.de>
parents:
11330
diff
changeset
|
78 |
3c7ba1e3dc21
Add missing option slice for pie and pie3
Kai Habel <kai.habel@gmx.de>
parents:
11330
diff
changeset
|
79 %!demo |
3c7ba1e3dc21
Add missing option slice for pie and pie3
Kai Habel <kai.habel@gmx.de>
parents:
11330
diff
changeset
|
80 %! pie3 ([0.17, 0.34, 0.41], {"Cheddar", "Swiss", "Camembert"}); |
3c7ba1e3dc21
Add missing option slice for pie and pie3
Kai Habel <kai.habel@gmx.de>
parents:
11330
diff
changeset
|
81 %! colormap([1,0,0;0,1,0;0,0,1;1,1,0;1,0,1;0,1,1]); |
3c7ba1e3dc21
Add missing option slice for pie and pie3
Kai Habel <kai.habel@gmx.de>
parents:
11330
diff
changeset
|
82 %! axis ([-2,2,-2,2]); |
11563
3c6e8aaa9555
Grammarcheck m-files before 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
83 %! title ("missing slice"); |