Module:Chart/doc
Module Chart exports two functions: bar chart and pie chart
 
 ==Drawing Bar charts: &quot;bar chart&quot;==
 
 ===Parameters===
 
 {| class=&quot;wikitable&quot;
 |-
 ! parameter name !! what it does
 |-
 |delimiter || string to delimit multiple values when given. default to colon ( : ). normally you do not want to touch this, it's provided for the off-chance you'll want to use colon as part of one of the parameters.
 |-
 |width ||number. if provided, must be at least 200. default: 500
 |-
 |height ||number. if provided, must be at least 200. default: 350
 |-
 |group n || (where &quot;n&quot; is a number. use &quot;group 1&quot;, &quot;group 2&quot; etc. for as many groups as there are in the graph) the values to be charted. see below.
 |-
 |tooltip n || tooltip to be associated with specific bar. If no tooltip for a specific bar is defined, and this bar has a link, then this link will be used as tooltip. Otherwise, the tooltip will be combined from the group name and the value, optionally with &quot;units prefix&quot; and &quot;units suffix&quot;. 
 |-
 |links n || links to articles to be associated with specific bar 
 |-
 |stack || whether to stack the different groups on top of each other. do not specify to show bars side by side. Any non-empty value means &quot;yes&quot;. To say &quot;no&quot;, simply do not supply this parameter at all, or leave the value blank.
 |-
 |{{nowrap|tooltip value accumulation}} || useful only with stack: when set to true, tooltip will show accumulated value of all blocks up to current one
 |-
 |colors || the colors used to denote the various groups. should have exactly as many values as # of groups. can be given as standard html-recognized color names, or using #xxx or #xxxxxx notation.
 |-
 |x legends || The legends for the X values.  Wikicode, such as internal links or templates can be used.
 |-
 |{{nowrap|hide group legends}} || if set to true, group legends will not be shown below chart. Any non-empty value means &quot;yes&quot;. To say &quot;no&quot;, simply do not supply this parameter at all, or leave the value blank.
 |-
 |{{Nowrap|scale per group}} || set to use separate Y- scale for each group. leave empty to use one scale for all groups. incompatible with &quot;stack&quot;. Note that even if some of the scales are exactly the same, they will be drawn separately when this setting is on. Any non-empty value means &quot;yes&quot;. To say &quot;no&quot;, simply do not supply this parameter at all, or leave the value blank.
 |-
 |{{nowrap|units prefix}} || used in tooltip. e.g., $, so values will show as &quot;$500&quot; instead of &quot;500&quot; in the tooltip
 |-
 |{{nowrap|units suffix}} || ditto for units suffix. use, e.g. &quot;Kg&quot; so values will show as 88Kg instead of 88 in tooltip. underscore (&quot;_&quot;) are replaced by spaces, to allow a space between the value and the suffix.
 |-
 | {{nowrap|group names}} || names of different groups
 |}
 
 ===Examples===
 
 ==== Basic ====
 &lt;pre&gt;
 {{ #invoke:Chart | bar chart
 | group 1 = 40 : 50 : 60 : 20
 | group 2 = 20 : 60 : 12 : 44
 | group 3 = 55 : 14 : 33 : 5
 | links 1 = Apple : McCintosh : Golden delicious
 | links 2 = Banana : Apricot : Peach
 | links 3 = Orange : Pear : Bear
 | tooltip 2 = tooltip 1 : tooltip 2 : tooltip 3 : tooltip 4
 | colors = green : yellow : orange
 | group names = Apple : Banana : Orange
 | x legends = Before : During : After : Post mortem
 }}
 &lt;/pre&gt;
 
 
 {{ #invoke:Chart | bar chart
 | group 1 = 40 : 50 : 60 : 20
 | group 2 = 20 : 60 : 12 : 44
 | group 3 = 55 : 14 : 33 : 5
 | links 1 = Apple : McCintosh : Golden delicious
 | links 2 = Banana : Apricot : Peach
 | links 3 = Orange : Pear : Bear
 | tooltip 2 = tooltip 1 : tooltip 2 : tooltip 3 : tooltip 4
 | colors = green : yellow : orange
 | group names = Apple : Banana : Orange
 | x legends = Before : During : After : Post mortem
 }}
 
 
 ====Stacked====
 Here is the same graph, with more modest height and width, using &quot;stack&quot;, and adding &quot;units suffix&quot; for good measure:
 
 &lt;pre&gt;
 {{ #invoke:Chart | bar chart
 | height = 250
 | width = 300
 | stack = 1
 | group 1 = 40 : 50 : 60 : 20
 | group 2 = 20 : 60 : 12 : 44
 | group 3 = 55 : 14 : 33 : 5
 | colors = green : yellow : orange
 | group names = Apple : Banana : Orange
 | units suffix = Kg
 | x legends = Before : During : After : Post mortem
 }}
 &lt;/pre&gt;
 
 {{ #invoke:Chart | bar chart
 | height = 250
 | width = 300
 | stack = 1
 | group 1 = 40 : 50 : 60 : 20
 | group 2 = 20 : 60 : 12 : 44
 | group 3 = 55 : 14 : 33 : 5
 | colors = green : yellow : orange
 | units suffix = Kg
 | group names = Apple : Banana : Orange
 | x legends = Before : During : After : Post mortem
 }}
 
 
 ====Scale per group====
 It is possible to show each of the groups using different scale and units:
 
 &lt;pre&gt;
 {{ #invoke:Chart | bar chart
 | width = 800
 | group 1 = 1500000 : 2500000 : 3500000
 | group 2 = 200 : 5000 : 45000
 | group 3 = 2000 : 5000 : 20000
 | colors = red : blue : green
 | group names = People : Cars : Average car cost
 | x legends = 1920 : 1965 : 2002
 | tooltip 2 = : There is no good data for number of cars in 1965. we use 5,000 as best estimate
 | units prefix = : : $
 | scale per group = 1
 }}
 &lt;/pre&gt;
 
 Notice the &quot;units prefix&quot; field: we do not need prefix for the first 2 groups, so we use colons with no content. we could write &quot;::$&quot; instead of &quot; : : $&quot;.
 
 Also note the special tooltip for the &quot;Cars&quot; number for 1965.
 
 
 
 {{ #invoke:Chart | bar chart
 | width = 800
 | group 1 = 1500000 : 2500000 : 3500000
 | group 2 = 200 : 5000 : 45000
 | group 3 = 2000 : 5000 : 20000
 | colors = red : blue : green
 | group names = People : Cars : Average car cost
 | x legends = 1920 : 1965 : 2002
 | tooltip 2 = : There is no good data for number of cars in 1965. we use 5,000 as best estimate
 | units prefix = : : $
 | scale per group = 1
 }}
 
 &lt;pre&gt;
 {{ #invoke:Chart | bar chart
 | width = 800
 | group 1 = 1500000 : 2500000 : 3500000
 | group 2 = 200 : 5000 : 45000
 | group 3 = 2000 : 5000 : 20000
 | colors = red : blue : green
 | group names = People : Cars : Average car cost
 | x legends = 1920 : 1965 : 2002
 | tooltip 2 = : There is no good data for number of cars in 1965. we use 5,000 as best estimate
 | units prefix = : : $
 | scale per group = 1
 }}
 &lt;/pre&gt;
 
 Notice the &quot;units prefix&quot; field: we do not need prefix for the first 2 groups, so we use colons with no content. we could write &quot;::$&quot; instead of &quot; : : $&quot;.
 
 Also note the special tooltip for the &quot;Cars&quot; number for 1965.
 
 
 
 Here is an example with large number of groups - mainly to test how does it look with large number of legends.
 
 {{ #invoke:Chart | bar chart
 | width = 800
 | height = 550
 | group 1 = 1:2:3:4:5:4:3:2:1
 | group 2 = 1:2:3:4:5:4:3:2:1
 | group 3 = 1:2:3:4:5:4:3:2:1
 | group 4 = 1:2:3:4:5:4:3:2:1
 | group 5 = 1:2:3:4:5:4:3:2:1
 | group 6 = 1:2:3:4:5:4:3:2:1
 | group 7 = 1:2:3:4:5:4:3:2:1
 | group 8 = 1:2:3:4:5:4:3:2:1
 | group 9 = 1:2:3:4:5:4:3:2:1
 | group 10 = 1:2:3:4:5:4:3:2:1
 | group 11 = 1:2:3:4:5:4:3:2:1
 | group 12 = 1:2:3:4:5:4:3:2:1
 | group 13 = 1:2:3:4:5:4:3:2:1
 | group 14 = 1:2:3:4:5:4:3:2:1
 | group 15 = 1:2:3:4:5:4:3:2:1
 | group 16 = 1:2:3:4:5:4:3:2:1
 | group 17 = 1:2:3:4:5:4:3:2:1
 | group 18 = 1:2:3:4:5:4:3:2:1
 | group 19 = 1:2:3:4:5:4:3:2:1
 | group 20 = 1:2:3:4:5:4:3:2:1
 | group 21 = 1:2:3:4:5:4:3:2:1
 | colors = Silver:Gray:Black:Red:Maroon:Yellow:Olive:Lime:Green:Aqua:Teal:Blue:Navy:Fuchsia:Purple:ForestGreen:Tomato:LightSeaGreen:RosyBrown:DarkOliveGreen:MediumVioletRed
 | group names = Alabama:Alaska:Arizona:Arkansas:California:Colorado:Connecticut:Delaware:Florida:Georgia:	Hawaii:Idaho:Illinois:Indiana:Iowa:Kansas:Kentucky:Louisiana:Maine:Maryland:Massachusetts
 | x legends = 1920 : 1930 : 1940: 1950 : 1960 : 1970 : 1990 : 2000 : 2010
 | units prefix = $
 | units suffix = _Billion
 | stack = 1
 }}
 
 
 If there are many values, x legends can be diluted by using delimiters with nothing in between:
 
 
 &lt;pre&gt;
 {{ #invoke:Chart | bar chart
 | group 1 = 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
 | units suffix = _Things
 | group names = Some
 | x legends = ::::1940::::::::::1950::::::::::1960::::::::::1970::::::::::1980::::::::::1990::::
 }}
 &lt;/pre&gt;
 
 {{ #invoke:Chart | bar chart
 | group 1 = 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
 | units suffix =  _Things
 | group names = Some
 | x legends = ::::1940::::::::::1950::::::::::1960::::::::::1970::::::::::1980::::::::::1990::::
 }}
 
 {{-}}
 
 == Drawing Pie charts: &quot;pie chart&quot; ==
 
 ===Parameters===
 
 {| class=&quot;wikitable&quot;
 |-
 ! parameter name !! what it does
 |-
 |'''delimiter''' || string to delimit multiple values when given. default to colon ( : ). normally you do not want to touch this, it's provided for the off-chance you'll want to use colon as part of one of the parameters.
 |-
 |'''radius''' ||number. The radius of the pie in pixels
 |-
 |'''slices''' || Tuples, in parenthesis. Use delimiter inside the tuple:
  ( Value1 : Name1 : Color1 : Link1  ) ( Value2 : Name2 : Color2 : Link2 ) ...
 The values are numbers. The numbers can be integers or decimal fractions, or using the scientific notation:  7.24e6, 7,240,000, or 7240000.00 are all acceptable for 7 Million and 240 thousands.
 
 Names are strings. Colors are optional. you can use any [[Web colors]], such as &quot;red&quot; or &quot;#FF0000&quot;. Up to 26 default colors are defined, but if your pie has more than 26 slices, you must define the colors of slice #27 and up. Links can be external or internal links, including linking to internal anchors and paragraphs in the same article, like so: &lt;nowiki&gt;[[Article|Tooltip]] for internal link, [[#Paragraph name|Tooltip]] for linking to an anchor in same article, or [http://example.org Tooltip] for external link.&lt;/nowiki&gt; 
 |-
 |{{nowrap|'''slice n'''}}|| alternative syntax to &quot;slices&quot;. n is the slice number, beginning with 1. make sure not to skip: if you define &quot;slice 1&quot;, &quot;slice 2&quot;, &quot;slice 4&quot;, &quot;slice 5&quot;..., skipping slice 3, only the first two slices will be shown. this syntax is incompatible with &quot;slices&quot;, i.e., they should not be used in conjunction in the same invocation. Using both &quot;slices&quot; and &quot;slice n&quot; in the same invocation will cause unpredictable results. The value is like a single &quot;tuple&quot; as explained above, but without the parenthesis:
 &lt;pre&gt;
  | slice 1 = Value1 : Name1 : Color1 : Link1
  | slice 2 = Value2 : Name2 : Color2 : Link2
  | ...
 &lt;/pre&gt;
 This syntax allows you to use parenthesis in names, links, and colors.
 |-
 |'''percent'''|| if used, the percentage of each slice will be calculated and added to the legend: so if you have two slices, like so: ( 1 : Younglings ) ( 3 : elders ), and use define &quot;percent&quot;, the legends will become &quot;Younglings: 1 (25%)&quot; and &quot;Elders: 3 (75%)&quot;, instead of simply &quot;Younglings: 1&quot; and &quot;Elders: 3&quot;. Any non-empty value means &quot;yes&quot;. To say &quot;no&quot;, simply do not supply this parameter at all, or leave the value blank.
 |-
 |'''{{nowrap|units prefix}}''' || used in the legend. e.g., defining &quot;units prefix=$&quot;, values will show as &quot;$500&quot; instead of &quot;500&quot; in the legends
 |-
 |'''{{nowrap|units suffix}}''' || ditto for units suffix. use, e.g. &quot;Kg&quot; so values will show as 88Kg instead of 88 in legend. underscore (&quot;_&quot;) are replaced by spaces, to allow a space between the value and the suffix.
 |-
 |'''{{nowrap|hide group legends}}''' || Setting to true prevents displaying of the group legends under the chart. Any non-empty value means &quot;yes&quot;. To say &quot;no&quot;, simply do not supply this parameter at all, or leave the value blank.
 |}
 
 ===Examples===
 &lt;pre&gt;
 {{#invoke:Chart|pie chart
 | radius = 150
 | slices = 
     ( 1000000 : Apples ) 
     ( 2000000 : Bananas  : gold) 
     ( 1440000 : Apricots ) 
     ( 6.4e5 : Pears : : [[Pear|Pears]] )
     ( 750,000 : Pineapples )
 | units suffix = _Tonne
 | percent = true
 }}
 
 Note that we can leave the color empty to use the default, but in order to add the link to &quot;Pear&quot;, 
 we had to mark the parameter by adding an extra delimiter to mark the omitted color parameter   
 
 Also note that the values can be provided with &quot;language specific&quot; format (like 1,000), 
 or scientific notation like 6.4e5. In the legends, numbers will always be displayed in 
 language-adjusted mode (can look different if module imported to other wikis).
 &lt;/pre&gt;
 {{#invoke:Chart|pie chart
 | radius = 150
 | slices = 
     ( 1000000 : Apples ) 
     ( 2000000 : Bananas  : gold) 
     ( 1440000 : Apricots ) 
     ( 6.4e5 : Pears : : [[Pear|Pears]] )
     ( 750,000 : Pineapples )
 | units suffix = _Tonne
 | percent = true
 }}
 
 
 An example for the alternative syntax with &quot;slice 1&quot;, &quot;slice 2&quot; etc.
 
 &lt;pre&gt;
 {{#invoke:chart|pie chart
 |radius= 200
 |units suffix = _Units
 | slice 1 = 1 : 1
 | slice 2 = 7 : 7
 | slice 3 = 8 : 8
 | slice 4 = 9 : 9
 | slice 5 = 10 : 10
 | slice 6 = 11 : 11
 | slice 7  = 12 : 12
 | slice 8  = 13 : 13
 | slice 9  = 14 : 14
 | slice 10 = 15 : 15
 | slice 11 = 16 : 16
 | slice 12 = 17 : 17
 | slice 13 = 18 : 18
 | slice 14 = 19 : 19
 | slice 15 = 20 : 20
 | slice 16 = 21 : 21
 | slice 17 = 22 : 22
 | slice 18 = 23 : 23
 | slice 19 = 24 : 24
 | slice 20 = 25 : 25
 | slice 21 = 26 : 26
 | slice 22 = 27 : 27
 | slice 23 = 28 : 28
 | slice 24 = 29 : 29
 | slice 25 = 30 : 30
 | slice 26 = 31 : 31
 | percent = true
 }}
 &lt;/pre&gt;
 
 {{#invoke:chart|pie chart
 |radius= 200
 |units suffix = _Units
 | slice 1 = 1 : 1
 | slice 2 = 7 : 7
 | slice 3 = 8 : 8
 | slice 4 = 9 : 9
 | slice 5 = 10 : 10
 | slice 6 = 11 : 11
 | slice 7  = 12 : 12
 | slice 8  = 13 : 13
 | slice 9  = 14 : 14
 | slice 10 = 15 : 15
 | slice 11 = 16 : 16
 | slice 12 = 17 : 17
 | slice 13 = 18 : 18
 | slice 14 = 19 : 19
 | slice 15 = 20 : 20
 | slice 16 = 21 : 21
 | slice 17 = 22 : 22
 | slice 18 = 23 : 23
 | slice 19 = 24 : 24
 | slice 20 = 25 : 25
 | slice 21 = 26 : 26
 | slice 22 = 27 : 27
 | slice 23 = 28 : 28
 | slice 24 = 29 : 29
 | slice 25 = 30 : 30
 | slice 26 = 31 : 31
 | percent = true