This template draws pie charts with HTML, CSS, and a Lua module. It can accept data formatted as:
| This template is used on approximately 8,200 pages and changes may be widely noticed. Test changes in the template's /sandbox or /testcases subpages, or in your own user subpage. Consider discussing changes on the talk page before implementing them. |
| This template uses Lua: |
| This template uses TemplateStyles: |
This template draws pie charts with HTML, CSS, and a Lua module. It can accept data formatted as:
|value1=123 |value2=456 (classic) or|1=[{"value":123, "value":456}] (easy to re-order)This template offers several different ways to draw pie charts. It can accept data as enumerated parameters (like many templates do). It can also accept data as an array. When placing the pie chart, the template can "float" it to either side of the body text (how image thumbnails are positioned). It can also place the chart as body content (how most tables are positioned).
By default, the template generates charts as floating thumbnails.
The labels, values, and colors of slices may be specified. All the parameters for six slices are included in the example below. To add more slices, copy the code for an existing line and change the digit at the end of each parameter's name. Order the values by size, from largest to smallest. This will order the chart's slices in a clockwise direction, with the largest slice at 12 o'clock.
{{Pie chart
| thumb =
| radius =
| caption=
| footer =
| label1 = | value1 = | color1 =
| label2 = | value2 = | color2 =
| label3 = | value3 = | color3 =
| label4 = | value4 = | color4 =
| label5 = | value5 = | color5 =
| other =
| other-color =
| other-label =
}}
|other=: If any value is given (even "0" or "no"), an "Other" item will appear in the legend, corresponding to the final slice that makes the values add up to 100.[1]|other-color=: Specify a color to override the default white for the "Other" slice.[2]|other-label=: Give a name to override the default text from "Other" to any string.|labelN=: This string of text appears in the legend entry for each slice. Omitting it will cause a legend to be automatically generated.|valueN=: This should be the percentage that the slice represents or an actual value. Use |autoscale=true to automatically scale values to a percentage of the total. Values that add up to more than 100 will be scaled down automatically.|colorN=: Each slice can have a CSS color code or name. If omitted, the default color palette will be used. The default color palette is designed with accessibility and printing in mind.Even though you could use as many values and labels as you want, at some point values will be too small to be readable. Values less than 1% don't make much sense. You could change the radius, but ultimately you should just use a wikitable instead. Pie chart should typically only have 2-10 values and the "Other" value.
|thumb=: By default the chart is floated to the right of the body content, as with image files. To make the chart appear on the left side specify |thumb=left. To place the chart as body content (similar to how tables are placed by default), specify |thumb=none.|radius= You can specify a desired radius in pixels. Do not include a "px" suffix. The chart defaults to |radius=100.|caption=: The caption is a string of wikitext displayed above the legend.|footer=: The footer is a string of wikitext displayed below the legend.|autoscale=true:[3] This means that the sum of values will be automatically scaled to 100%. So for values: 5, 15, the slices will be "5 (25%)" and "15 (75%)". If the total is over 100, this defaults to true.|legend=true:[3] A legend will be added. Defaults to true if thumb is used.|direction=: When the chart is positioned as body content, this parameter changes the placement of the legend. Possible values are:
row: the order is a list, chart (default for thumb=none);row-reverse: the reverse order, i.e., chart, list;column: column arrangement (vertical);column-reverse: column arrangement, reversed (chart on top; default for thumb=right/left).|width=: In most cases, you probably don't want to use this. It changes the width of the box. Normally, the box will be automatically scaled (for thumb=right or thumb=left, to pie radius; for thumb=none, to full available width).The template can also accept a JSON array of data, labels, and colors in the first unnamed parameter or |1=. An array is more strict in how the data must be formatted, but offers extra flexibility because you can easily rearrange the rows. This can simplify charts where the values will be frequently updated. It also simplifies the process of syncing charts across multiple articles or wikis.
|1=[]: This parameter holds an array of all values for a chart. Each value can have a label and color.
{"value": 1},{"label": "drinks", "value": 1},{"label": "drinks", "value": 1, "color":"#ccf"},{} (this will mean the value is to be calculated automatically);{"label": "other citizens"};{"label": "other citizens", "color": "silver"}.In the example below, the same lines of text are used to create charts arranged from most to least and from least to most. Only the order has changed:
| Most to least | Least to most |
|---|---|
|
Large to small[4]
|
Small to large[5]
|
{{Pie chart
|[
{"label": "sweets", "value": 5, "color":"darkred"},
{"label": "sandwiches", "value": 3, "color":"wheat"},
{"label": "cookies", "value": 2, "color":"goldenrod"},
{"label": "drinks", "value": 1, "color":"#ccf"},
]
| autoscale = true
| legend = true
| thumb = left
| radius = 100
| caption= Large to small<ref>References should work fine in captions</ref>
| footer =
}}
|
{{Pie chart
|[
{"label": "drinks", "value": 1, "color":"#ccf"},
{"label": "cookies", "value": 2, "color":"goldenrod"},
{"label": "sandwiches", "value": 3, "color":"wheat"},
{"label": "sweets", "value": 5, "color":"darkred"},
]
| autoscale = true
| legend = true
| thumb = right
| radius = 100
| caption= Small to large<ref>References should work fine in captions</ref>
| footer =
}}
|
Pie charts can also be positioned as body content. This is how most table are positioned in articles.
The smallest possible definition of a graph that makes sense is below.
{{Pie chart| [ {"value":25}, {} ] |thumb=none}}
You can add labels to values as shown below.
{{Pie chart
| [
{"value":25, "label": "town"},
{"label": "city"},
]
|thumb=none
|legend=true
}}
Note that a formatted value is added to each label.
See how the value adapts when large values are auto-scaled:
{{Pie chart
| [
{"value":2500, "label": "town"},
{"value":7500, "label": "city"},
]
|thumb=none
|legend=true
|autoscale=true
}}
As shown above, a typical label: "Abc" will result in:
One can use labelformat option for formatting labels of all items. In most cases, the default format is the best choice as it automatically adapts to different contexts and makes chart more uniform.
| Name | Example usage | Example render | Notes |
|---|---|---|---|
| $label | "$label - $value" | "Abc - 123" | In most case you will want to use $label with other variables. |
| $value | "$label - $value" | "Abc - 123" | "123" is just a value, but thousand separators will be added for larger numbers. |
| $percent | "($percent) $label" | "(10.5%) Abc" | Using $percent makes most sense when autoscale is on. |
| $percent with $value | "($percent) $label: $value mln" | "(10.5%) Abc: 123 mln" | Using $value explicitly allows you to easily add units (like "mln"). |
| $auto | "$label: $auto" | "Abc: 123 (10.5%)" | This specific format is actually default. |
Example of adding units in format (note $value in label and autoscale=true):
{{Pie chart
|1= [
{"value":600, "label": "Flour"},
{"value":300, "label": "Milk"},
{"value":120, "label": "Butter"},
{"value":100, "label": "Egg powder"},
{"value":80, "label": "Sugar"},
]
|labelformat=$label $value g
|thumb=none
|legend=true
|autoscale=true
}}
Example of showing precision of data:
{{Pie chart
|1= [
{"value":500, "label": "Cappuccino"},
{"value":420, "label": "Latte"},
{"value":280, "label": "Espresso"},
{"value":160, "label": "Tea"},
{"value":90, "label": "Pastries"},
]
|labelformat=($percent) $label: $value ± 5
|thumb=none
|legend=true
|autoscale=true
}}
When drawing the chart as body content, the legend is positioned to the left of the chart by default. You can change the display position using the |direction= parameter. Possible values include:
| Direction | Example |
|---|---|
|direction=row (default)The legend is to the left of the chart.
|
|
|direction=row-reverse (reverse order)The legend is to right of the chart.
|
|
|direction=column (vertical)The legend is above the chart.
|
|
|direction=column-reverse (vertical, reversed)The legend is below the chart.
|
|
The following code generates the pie chart shown at right. Note that the default chart size and colors are used.
{{Pie chart
|value1 = 1
|value2 = 2
|value3 = 3
|value4 = 4
|value5 = 5
|value6 = 6
|autoscale = true
}}
Here's a more real-world example with custom colors.
{{Pie chart
| caption= [[Religion in the Czech Republic]] in 2001.
| label1 = [[Atheist]]s and [[agnostic]]s
| value1 = 59
| color1 = darkgreen
| label2 = [[Catholic]]s
| value2 = 26.8
| color2 = brown
| label3 = [[Protestant]]s
| value3 = 2.5
| color3 = #08f
| other = yes
| other-color = silver
}}
Some warnings are shown in the preview when the data supplied is invalid or suspicious.
|autoscale=true to the template (see also: Template:Pie chart#param--autoscale).$value but typed $valve instead. See also: Template:Pie chart#Label format.true, you can use yes, on, or 1.
TemplateData for Pie chart
Template to create pie charts (proportionally divided circles). Note that values are approximate and may be automatically scaled to 100%.
| Parameter | Description | Type | Status | |
|---|---|---|---|---|
| Chart items | 1 | Array of chart items, each being a set of properties for a slice: value, label, and color. For most items, only "value" is required (for the last item, even value can be omitted). Colors can be omitted and will be assigned automatically. Instead of this parameter, you can also use "value1", "label1", "color1"...
| String | suggested |
| labelformat | labelformat | Format of values in JSON mode. $auto is resolved differently when auto-scaling is on.
| Line | suggested |
| thumb | thumb | Specifies whether the chart is floated to the left or right, similar to an image.
| Line | suggested |
| legend | legend | If set to true, a legend will be added. Defaults to true if the thumb parameter is used.
| Line | suggested |
| direction | direction | Determines the placement of the legend. The chart and legend can be arranged in a column or a row.
| Line | optional |
| autoscale | autoscale | If set to true, the sum of values will be automatically scaled to 100%. Autoscale is always enabled when the sum of values exceeds 100.
| Line | suggested |
| precision | precision | Percentage number formatting precision (number of digits).
| Number | optional |
| caption | caption | Specifies the chart's caption, which appears before the legend. Only use this parameter if the legend is enabled. The caption can contain references. | Line | optional |
| footer | footer | Specifies the chart's footer, which appears after the legend. Only use this parameter if the legend is enabled. | Line | optional |
| radius | radius | Specifies the radius of the pie chart in pixels. If omitted, the default is 100. | Number | optional |
| width | width | Specifies the box size in pixels. Remove this parameter to allow the size to adjust automatically (based on labels and graph size). | Number | optional |
| value1 | value1 | Value for the first item (used instead of the chart items array). | Unknown | optional |
| label1 | label1 | Label for the first item (used instead of the chart items array). | Unknown | optional |
| color1 | color1 | Color for the first item/slice (used instead of the chart items array). | Unknown | optional |
| value2 | value2 | no description | Unknown | optional |
| label2 | label2 | no description | Unknown | optional |
| color2 | color2 | no description | Unknown | optional |
| value3 | value3 | no description | Unknown | optional |
| label3 | label3 | no description | Unknown | optional |
| color3 | color3 | no description | Unknown | optional |
| value4 | value4 | no description | Unknown | optional |
| label4 | label4 | no description | Unknown | optional |
| color4 | color4 | no description | Unknown | optional |
| value5 | value5 | no description | Unknown | optional |
| label5 | label5 | no description | Unknown | optional |
| color5 | color5 | no description | Unknown | optional |
| value6 | value6 | no description | Unknown | optional |
| label6 | label6 | no description | Unknown | optional |
| color6 | color6 | no description | Unknown | optional |
| value7 | value7 | no description | Unknown | optional |
| label7 | label7 | no description | Unknown | optional |
| color7 | color7 | no description | Unknown | optional |
| value8 | value8 | no description | Unknown | optional |
| label8 | label8 | no description | Unknown | optional |
| color8 | color8 | no description | Unknown | optional |
| value9 | value9 | no description | Unknown | optional |
| label9 | label9 | no description | Unknown | optional |
| color9 | color9 | no description | Unknown | optional |
| value10 | value10 | no description | Unknown | optional |
| label10 | label10 | no description | Unknown | optional |
| color10 | color10 | no description | Unknown | optional |
| other-label | other-label | no description | Unknown | optional |
| other-color | other-color | no description | Unknown | optional |
| other | other | no description | Unknown | optional |
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.