Skribilo contains a pie-chart formatting package, located in the
(skribilo package pie) module. It allows users to produces
represent numeric data as pie charts as in the following example:
Use of Document Formatting Systems
 |
|
A default implementation, which uses Ploticus 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.
Currently it only supports slice-coloring, but support for
textures (particularly useful for black & white printouts) could be
added in the future.
9.1 Syntax
Let us start with a simple example:
Ex. 39: Example of a pie chart
... produces:
Casualties in the Israel-Lebanon 2006 Conflict (source:
English Wikipedia page, 2006-07-23)
 |
|
This illustrates the three markups provided by the pie
package, namely pie, slice, and 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 :total option
of pie can be used to create pie charts no entirely filled.
Various options allow the pie layout to be controlled:
Ex. 40: Specifying the layout of a pie chart
... produces:
Casualties of the Conflict in Iraq since 2003 (source:
English Wikipedia page, 2006-07-23)
 |
|
The available markups and their options are described below.
| prototype |
(pie [:labels 'outside] [:fingers? #t] [:radius 3] [:total] [:initial-angle 0] [:title "Pie Chart"] [:class "pie"] [:ident]) |
| :ident | html lout latex context info xml | The node identifier. |
| :class | html lout latex context info xml | The node class. |
| :title | html lout latex context info xml | The title of the pie chart. |
| :initial-angle | html lout latex context info xml | The initial angle of the pie, in degrees. |
| :total | html lout latex context info xml | If a number, specifies the
"weight" of the whole pie; in this case, if the pie's slices don't add
up to that number, then part of the pie is shown as empty. If #f, the total that is used is the sum of the weight of each slice. |
| :radius | html lout latex context info xml | The pie's radius. How this value
is interpreted depends on the engine used. |
| :fingers? | lout | Indicates whether to add "fingers"
(arrows) from labels to slices when labels are outside of slices. |
| :labels | html lout latex context info xml | A symbol indicating where slice
labels are rendered: outside to have them appear outside of
the pie, inside to have them appear inside the pie, and legend to have them appear in a separate legend. |
slice |
As seen in the examples above, the body of a slice markup can contain instances of sliceweight to
represent the weight of the slice: