summaryrefslogtreecommitdiff
path: root/doc/user/pie.skb
blob: 34b489f06da532bc7826a83693eeb5f7d08d3c2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
;;; pie.skb  --  Pie charts.
;;;
;;; Copyright 2006, 2009  Ludovic Court�s <ludovic.courtes@laas.fr>
;;;
;;;
;;; This program 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 2 of the License, or
;;; (at your option) any later version.
;;;
;;; This program 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 this program; if not, write to the Free Software
;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
;;; USA.

;;; FIXME: This is a stub and must be completed!

(chapter :title [Pie Charts] :ident "pie-charts"

   (p [Skribilo contains a pie-chart formatting package, located in the
,(tt [(skribilo package pie)]) module.  It allows users to produces
represent numeric data as pie charts as in the following example:]

	(disp (pie :title [Use of Document Formatting Systems]
	           :fingers? #t :labels 'outside
	           :initial-angle 90
	           :ident "pie-skribilo-rulez"
                 (slice :weight 10 :color "red" :detach? #t
                   (bold [Skribilo]))
                 (slice :weight  6 :color "green"     "Skribe")
                 (slice :weight  6 :color "blue"      "Lout")
                 (slice :weight  4 :color "lightgrey" "LaTeX")
                 (slice :weight  2 :color "yellow"    "Docbook")
                 (slice :weight  1 :color "black"     "others"))))

   (p [A default implementation, which uses ,(ref :text [Ploticus] :url
"http://ploticus.sf.net") as an external program, is available for all
engines.  There is also a specific implementation for the Lout engine
which relies on Lout's own pie-chart package.  In the latter case, you
don't need to have Ploticus installed, but you need it in the former.])
   (p [Currently it only supports slice-coloring, but support for
textures (particularly useful for black & white printouts) could be
added in the future.])
   
   (section :title [Syntax]
            :info-node [Pie Syntax]
      
      (p [Let us start with a simple example:]
	
	(example-produce
	  (example :legend "Example of a pie chart"
	     (prgm :file "src/pie1.skb"))
	  (disp (include "src/pie1.skb"))))
      
      (p [This illustrates the three markups provided by the ,(tt [pie])
package, namely ,(tt [pie]), ,(tt [slice]), and ,(tt [sliceweight]).
This last markup returns the weight of the slice it is used in, be it as
a percentage or an absolute value.  Note that the ,(tt [:total]) option
of ,(tt [pie]) can be used to create pie charts no entirely filled.])
      (p [Various options allow the pie layout to be controlled:]
	
	(example-produce
	  (example :legend "Specifying the layout of a pie chart"
	     (prgm :file "src/pie2.skb"))
	  (disp (include "src/pie2.skb"))))))
	
;;; arch-tag: 60382016-3a63-4466-83e0-46a259cb39ab