diff options
Diffstat (limited to 'doc/user/pie_slic')
-rw-r--r-- | doc/user/pie_slic | 203 |
1 files changed, 203 insertions, 0 deletions
diff --git a/doc/user/pie_slic b/doc/user/pie_slic new file mode 100644 index 0000000..1c8f7d8 --- /dev/null +++ b/doc/user/pie_slic @@ -0,0 +1,203 @@ +@Section + @Title { Changing the appearance of slices } + @Tag { pie_slic } +@Begin +@PP +The @Code "@Slice" symbol has options for controlling the +slice. @Index { @Code "@Slice" symbol (pie graphs) } +piegraphs. @RawIndex { pie graphs } +piegraphs.slice @SubIndex { @Code "@Slice" symbol } +appearance of the slice it makes: +@ID -1px @Break @OneRow @Code @Verbatim { +@Slice + weight { 10 } + paint { none } + texture { solid } + outlinestyle { solid } + outlinedashlength { 0.2f } + outlinewidth { thin } + detach { no } +} +This example shows the default values of the options. +@PP +The @Code weight option is the weight (angular extent) of +weight.pie @Index { @Code "weight" option (pie graphs) } +piegraphs. @RawIndex { pie graphs } +piegraphs.weight @SubIndex { @Code "weight" option } +the slice. By default, the total weight of the complete +pie graph is 100, so a slice of weight 10, say, would occupy +10% of the pie area, or in other words an angular extent +of (10"/"100) @Multiply 360 degrees. You can change the +@I total weight by setting an option to the @Code "@Pie" symbol: +totalweight.pie @Index { @Code "totalweight" option (pie graphs) } +piegraphs. @RawIndex { pie graphs } +piegraphs.totalweight @SubIndex { @Code "totalweight" option } +@ID -1px @Break @OneRow @Code @Verbatim { +@Pie + totalweight { 360 } +} +The value 360 would be useful if you wanted your weights to +correspond with degrees. It would be good to get @Code "@Pie" +to add up all the weights of its constituent slices and use +that for the total weight, but problems behind the scenes +prevent this. As it is, if the total weight of all slices +is less than {@Code totalweight}, the leftover angular +extent will be blank; and if it exceeds {@Code totalweight}, +later slices will overstrike earlier ones. +@PP +The @Code paint option defines the colour of the interior +paint. @RawIndex { @Code "paint" option } +paint.in.pie @SubIndex { in pie graphs } +piegraphs. @RawIndex { pie graphs } +piegraphs.paint @SubIndex { @Code "paint" option } +of the slice. Any colour acceptable to the {@Code "@Colour"} +symbol (Section {@NumberOf colour}) is allowed, plus the +default value {@Code none}, meaning no paint. As always, +alongside the @Code "paint" option there is a @Code "texture" +texture.option. @RawIndex { @Code "texture" option } +texture.option.in.pie @SubIndex { in pie graphs } +piegraphs. @RawIndex { pie graphs } +piegraphs.texture @SubIndex { @Code "texture" option } +option: +@ID -1px @Break @OneRow @Code @Verbatim { +@Pie + paint { grey } +{ + @Slice + weight { 20 } + texture { striped } + label { Admin (20%) } + @Slice + weight { 40 } + texture { striped angle { 45d } } + label { Research (40%) } + @Slice + weight { 40 } + texture { striped angle { 90d } } + label { Teaching (40%) } +} +} +produces +@CD +@Pie + paint { grey } +{ + @Slice + weight { 20 } + texture { striped } + label { Admin (20%) } + @Slice + weight { 40 } + texture { striped angle { 45d } } + label { Research (40%) } + @Slice + weight { 40 } + texture { striped angle { 90d } } + label { Teaching (40%) } +} +Textures might work better in black and white prints. +@PP +The next three options affect the outline drawn around each +slice. The @Code outlinestyle option +outlinestyle. @RawIndex { @Code "outlinestyle" option } +outlinestyle.in.pie @SubIndex { in pie graphs } +piegraphs. @RawIndex { pie graphs } +piegraphs.outlinestyle @SubIndex { @Code "outlinestyle" option } +may be {@Code solid} (the default) which +draws a solid line, {@Code dashed} which draws a dashed +line, {@Code cdashed} which draws a dashed line with +half-size dashes at the ends (this often looks better +than {@Code dashed}), @Code "dotted" which draws a dotted line, +and @Code noline which draws no outline at all. The +@Code outlinedashlength option determines the dash length +outlinedashlength. @RawIndex { @Code "outlinedashlength" option } +outlinedashlength.in.pie @SubIndex { in pie graphs } +piegraphs. @RawIndex { pie graphs } +piegraphs.outlinedashlength @SubIndex { @Code "outlinedashlength" option } +if @Code outlinestyle is @Code dashed or {@Code cdashed}, and +the distance between dots if @Code outlinestyle is +{@Code dotted}. The length will be varied a little to ensure +that the dashes or dots fit evenly on each segment of the +outline. The @Code "outlinewidth" option determines the width +outlinewidth. @RawIndex { @Code "outlinewidth" option } +outlinewidth.in.pie @SubIndex { in pie graphs } +piegraphs. @RawIndex { pie graphs } +piegraphs.outlinewidth @SubIndex { @Code "outlinewidth" option } +of the outline, or the diameter of the dots if @Code outlinestyle +is {@Code dotted}. +@PP +You can give three values to {@Code outlinestyle}, like this: +@ID -1px @Break @OneRow @Code @Verbatim { +@Pie +{ red @Colour @Slice + weight { 75 } + outlinestyle { dashed cdashed dotted } + label { Bad debts } +} +} +and the first will apply to the first straight segment, +the second to the curved segment, and the third to the +second straight segment: +@CD @Pie +{ red @Colour @Slice + weight { 75 } + outlinestyle { dashed cdashed dotted } + label { Bad debts } +} +There is no option to change the colour of the outline, +but you can change the colour of the whole slice using +the {@Code "@Colour"} symbol from Section {@NumberOf colour} +as shown. It colours the label as well, but you can +fix that by enclosing the contents of your label in +another {@Code "@Colour"} symbol if you need to. +@PP +The @Code detach option pulls its slice radially out of the +detach.pie @Index { @Code "detach" option (pie graphs) } +piegraphs. @RawIndex { pie graphs } +piegraphs.detach @SubIndex { @Code "detach" option } +pie, without affecting any other slice: +@CD @Pie + # abovecaption { Ideal breakdown of academic workload } + aboveextra { 0.7c } +{ + @Slice + detach { yes } + weight { 20 } + label { Admin (20%) } + @Slice + weight { 40 } + paint { green } + label { Research (40%) } + @Slice + weight { 40 } + paint { lightred } + label { Teaching (40%) } +} +is produced by +@ID -1px @Break @OneRow @Code @Verbatim { +@Pie + aboveextra { 0.7c } +{ + @Slice + detach { yes } + weight { 20 } + label { Admin (20%) } + @Slice + weight { 40 } + paint { green } + label { Research (40%) } + @Slice + weight { 40 } + paint { lightred } + label { Teaching (40%) } +} +} +We've used the @Code aboveextra option +(Section {@NumberOf pie_over}) to compensate for Lout's +ignorance of where the slice actually ended up. +The value of @Code detach may be {@Code no} (the +default), {@Code yes}, or any number, which defines +the fraction of the pie radius that the slice is +pulled out by. For example, @Code yes is just another +name for {@Code 0.5}. +@End @Section |