2018-03-17 17:07:55 +00:00
<!DOCTYPE HTML>
< html lang = "" >
< head >
< meta charset = "UTF-8" >
< meta content = "text/html; charset=utf-8" http-equiv = "Content-Type" >
2018-04-23 00:08:03 +00:00
< title > Doughnut & Pie · Chart.js documentation< / title >
2018-03-17 17:07:55 +00:00
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" / >
< meta name = "description" content = "" >
< meta name = "generator" content = "GitBook 3.2.2" >
< meta name = "author" content = "chartjs" >
< link rel = "stylesheet" href = "../gitbook/style.css" >
< link rel = "stylesheet" href = "../gitbook/gitbook-plugin-search-plus/search.css" >
< link rel = "stylesheet" href = "../gitbook/gitbook-plugin-highlight/website.css" >
< link rel = "stylesheet" href = "../gitbook/gitbook-plugin-fontsettings/website.css" >
< link rel = "stylesheet" href = "../style.css" >
< meta name = "HandheldFriendly" content = "true" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1, user-scalable=no" >
< meta name = "apple-mobile-web-app-capable" content = "yes" >
< meta name = "apple-mobile-web-app-status-bar-style" content = "black" >
< link rel = "apple-touch-icon-precomposed" sizes = "152x152" href = "../gitbook/images/apple-touch-icon-precomposed-152.png" >
< link rel = "shortcut icon" href = "../gitbook/images/favicon.ico" type = "image/x-icon" >
< link rel = "next" href = "polar.html" / >
< link rel = "prev" href = "radar.html" / >
< link rel = "stylesheet" href = "../gitbook/gitbook-plugin-chartjs/style.css" >
< script src = "../gitbook/gitbook-plugin-chartjs/Chart.bundle.js" > < / script >
< script src = "../gitbook/gitbook-plugin-chartjs/chartjs-plugin-deferred.js" > < / script >
< / head >
< body >
< div class = "book" >
< div class = "book-summary" >
< div id = "book-search-input" role = "search" >
< input type = "text" placeholder = "Type to search" / >
< / div >
< nav role = "navigation" >
< ul class = "summary" >
< li class = "chapter " data-level = "1.1" data-path = "../" >
< a href = "../" >
Chart.js
< / a >
< / li >
< li class = "chapter " data-level = "1.2" data-path = "../getting-started/" >
< a href = "../getting-started/" >
Getting Started
< / a >
< ul class = "articles" >
< li class = "chapter " data-level = "1.2.1" data-path = "../getting-started/installation.html" >
< a href = "../getting-started/installation.html" >
Installation
< / a >
< / li >
< li class = "chapter " data-level = "1.2.2" data-path = "../getting-started/integration.html" >
< a href = "../getting-started/integration.html" >
Integration
< / a >
< / li >
< li class = "chapter " data-level = "1.2.3" data-path = "../getting-started/usage.html" >
< a href = "../getting-started/usage.html" >
Usage
< / a >
< / li >
< / ul >
< / li >
< li class = "chapter " data-level = "1.3" data-path = "../general/" >
< a href = "../general/" >
General
< / a >
< ul class = "articles" >
< li class = "chapter " data-level = "1.3.1" data-path = "../general/responsive.html" >
< a href = "../general/responsive.html" >
Responsive
< / a >
< / li >
2018-04-23 00:08:03 +00:00
< li class = "chapter " data-level = "1.3.2" data-path = "../general/device-pixel-ratio.html" >
< a href = "../general/device-pixel-ratio.html" >
Pixel Ratio
< / a >
< / li >
< li class = "chapter " data-level = "1.3.3" data-path = "../general/interactions/" >
2018-03-17 17:07:55 +00:00
< a href = "../general/interactions/" >
Interactions
< / a >
< ul class = "articles" >
2018-04-23 00:08:03 +00:00
< li class = "chapter " data-level = "1.3.3.1" data-path = "../general/interactions/events.html" >
2018-03-17 17:07:55 +00:00
< a href = "../general/interactions/events.html" >
Events
< / a >
< / li >
2018-04-23 00:08:03 +00:00
< li class = "chapter " data-level = "1.3.3.2" data-path = "../general/interactions/modes.html" >
2018-03-17 17:07:55 +00:00
< a href = "../general/interactions/modes.html" >
Modes
< / a >
< / li >
< / ul >
< / li >
2018-04-23 00:08:03 +00:00
< li class = "chapter " data-level = "1.3.4" data-path = "../general/options.html" >
2018-03-17 17:07:55 +00:00
< a href = "../general/options.html" >
Options
< / a >
< / li >
2018-04-23 00:08:03 +00:00
< li class = "chapter " data-level = "1.3.5" data-path = "../general/colors.html" >
2018-03-17 17:07:55 +00:00
< a href = "../general/colors.html" >
Colors
< / a >
< / li >
2018-04-23 00:08:03 +00:00
< li class = "chapter " data-level = "1.3.6" data-path = "../general/fonts.html" >
2018-03-17 17:07:55 +00:00
< a href = "../general/fonts.html" >
Fonts
< / a >
< / li >
< / ul >
< / li >
< li class = "chapter " data-level = "1.4" data-path = "../configuration/" >
< a href = "../configuration/" >
Configuration
< / a >
< ul class = "articles" >
< li class = "chapter " data-level = "1.4.1" data-path = "../configuration/animations.html" >
< a href = "../configuration/animations.html" >
Animations
< / a >
< / li >
< li class = "chapter " data-level = "1.4.2" data-path = "../configuration/layout.html" >
< a href = "../configuration/layout.html" >
Layout
< / a >
< / li >
< li class = "chapter " data-level = "1.4.3" data-path = "../configuration/legend.html" >
< a href = "../configuration/legend.html" >
Legend
< / a >
< / li >
< li class = "chapter " data-level = "1.4.4" data-path = "../configuration/title.html" >
< a href = "../configuration/title.html" >
Title
< / a >
< / li >
< li class = "chapter " data-level = "1.4.5" data-path = "../configuration/tooltip.html" >
< a href = "../configuration/tooltip.html" >
Tooltip
< / a >
< / li >
< li class = "chapter " data-level = "1.4.6" data-path = "../configuration/elements.html" >
< a href = "../configuration/elements.html" >
Elements
< / a >
< / li >
< / ul >
< / li >
< li class = "chapter " data-level = "1.5" data-path = "./" >
< a href = "./" >
Charts
< / a >
< ul class = "articles" >
< li class = "chapter " data-level = "1.5.1" data-path = "line.html" >
< a href = "line.html" >
Line
< / a >
< / li >
< li class = "chapter " data-level = "1.5.2" data-path = "bar.html" >
< a href = "bar.html" >
Bar
< / a >
< / li >
< li class = "chapter " data-level = "1.5.3" data-path = "radar.html" >
< a href = "radar.html" >
Radar
< / a >
< / li >
< li class = "chapter active" data-level = "1.5.4" data-path = "doughnut.html" >
< a href = "doughnut.html" >
Doughnut & Pie
< / a >
< / li >
< li class = "chapter " data-level = "1.5.5" data-path = "polar.html" >
< a href = "polar.html" >
Polar Area
< / a >
< / li >
< li class = "chapter " data-level = "1.5.6" data-path = "bubble.html" >
< a href = "bubble.html" >
Bubble
< / a >
< / li >
< li class = "chapter " data-level = "1.5.7" data-path = "scatter.html" >
< a href = "scatter.html" >
Scatter
< / a >
< / li >
< li class = "chapter " data-level = "1.5.8" data-path = "area.html" >
< a href = "area.html" >
Area
< / a >
< / li >
< li class = "chapter " data-level = "1.5.9" data-path = "mixed.html" >
< a href = "mixed.html" >
Mixed
< / a >
< / li >
< / ul >
< / li >
< li class = "chapter " data-level = "1.6" data-path = "../axes/" >
< a href = "../axes/" >
Axes
< / a >
< ul class = "articles" >
< li class = "chapter " data-level = "1.6.1" data-path = "../axes/cartesian/" >
< a href = "../axes/cartesian/" >
Cartesian
< / a >
< ul class = "articles" >
< li class = "chapter " data-level = "1.6.1.1" data-path = "../axes/cartesian/category.html" >
< a href = "../axes/cartesian/category.html" >
Category
< / a >
< / li >
< li class = "chapter " data-level = "1.6.1.2" data-path = "../axes/cartesian/linear.html" >
< a href = "../axes/cartesian/linear.html" >
Linear
< / a >
< / li >
< li class = "chapter " data-level = "1.6.1.3" data-path = "../axes/cartesian/logarithmic.html" >
< a href = "../axes/cartesian/logarithmic.html" >
Logarithmic
< / a >
< / li >
< li class = "chapter " data-level = "1.6.1.4" data-path = "../axes/cartesian/time.html" >
< a href = "../axes/cartesian/time.html" >
Time
< / a >
< / li >
< / ul >
< / li >
< li class = "chapter " data-level = "1.6.2" data-path = "../axes/radial/" >
< a href = "../axes/radial/" >
Radial
< / a >
< ul class = "articles" >
< li class = "chapter " data-level = "1.6.2.1" data-path = "../axes/radial/linear.html" >
< a href = "../axes/radial/linear.html" >
Linear
< / a >
< / li >
< / ul >
< / li >
< li class = "chapter " data-level = "1.6.3" data-path = "../axes/labelling.html" >
< a href = "../axes/labelling.html" >
Labelling
< / a >
< / li >
< li class = "chapter " data-level = "1.6.4" data-path = "../axes/styling.html" >
< a href = "../axes/styling.html" >
Styling
< / a >
< / li >
< / ul >
< / li >
< li class = "chapter " data-level = "1.7" data-path = "../developers/" >
< a href = "../developers/" >
Developers
< / a >
< ul class = "articles" >
< li class = "chapter " data-level = "1.7.1" data-path = "../developers/api.html" >
< a href = "../developers/api.html" >
Chart.js API
< / a >
< / li >
< li class = "chapter " data-level = "1.7.2" data-path = "../developers/updates.html" >
< a href = "../developers/updates.html" >
Updating Charts
< / a >
< / li >
< li class = "chapter " data-level = "1.7.3" data-path = "../developers/plugins.html" >
< a href = "../developers/plugins.html" >
Plugins
< / a >
< / li >
< li class = "chapter " data-level = "1.7.4" data-path = "../developers/charts.html" >
< a href = "../developers/charts.html" >
New Charts
< / a >
< / li >
< li class = "chapter " data-level = "1.7.5" data-path = "../developers/axes.html" >
< a href = "../developers/axes.html" >
New Axes
< / a >
< / li >
< li class = "chapter " data-level = "1.7.6" data-path = "../developers/contributing.html" >
< a href = "../developers/contributing.html" >
Contributing
< / a >
< / li >
< / ul >
< / li >
< li class = "chapter " data-level = "1.8" data-path = "../notes/" >
< a href = "../notes/" >
Additional Notes
< / a >
< ul class = "articles" >
< li class = "chapter " data-level = "1.8.1" data-path = "../notes/comparison.html" >
< a href = "../notes/comparison.html" >
Comparison Table
< / a >
< / li >
< li class = "chapter " data-level = "1.8.2" data-path = "../notes/extensions.html" >
< a href = "../notes/extensions.html" >
Popular Extensions
< / a >
< / li >
< li class = "chapter " data-level = "1.8.3" data-path = "../notes/license.html" >
< a href = "../notes/license.html" >
License
< / a >
< / li >
< / ul >
< / li >
< li class = "divider" > < / li >
< li >
< a href = "https://www.gitbook.com" target = "blank" class = "gitbook-link" >
Published with GitBook
< / a >
< / li >
< / ul >
< / nav >
< / div >
< div class = "book-body" >
< div class = "body-inner" >
< div class = "book-header" role = "navigation" >
<!-- Title -->
< h1 >
< i class = "fa fa-circle-o-notch fa-spin" > < / i >
< a href = ".." > Doughnut & Pie< / a >
< / h1 >
< / div >
< div class = "page-wrapper" tabindex = "-1" role = "main" >
< div class = "page-inner" >
< div class = "search-plus" id = "book-search-results" >
< div class = "search-noresults" >
< section class = "normal markdown-section" >
< h1 id = "doughnut-and-pie" > Doughnut and Pie< / h1 >
< p > Pie and doughnut charts are probably the most commonly used charts. They are divided into segments, the arc of each segment shows the proportional value of each piece of data.< / p >
< p > They are excellent at showing the relational proportions between data.< / p >
< p > Pie and doughnut charts are effectively the same class in Chart.js, but have one different default value - their < code > cutoutPercentage< / code > . This equates what percentage of the inner should be cut out. This defaults to < code > 0< / code > for pie charts, and < code > 50< / code > for doughnuts.< / p >
< p > They are also registered under two aliases in the < code > Chart< / code > core. Other than their different default value, and different alias, they are exactly the same.< / p >
< p > < div class = "chartjs-wrapper" > < canvas id = "chartjs-4" class = "chartjs" width = "undefined" height = "undefined" > < / canvas > < script > new Chart ( document . getElementById ( "chartjs-4" ) , { "type" : "doughnut" , "data" : { "labels" : [ "Red" , "Blue" , "Yellow" ] , "datasets" : [ { "label" : "My First Dataset" , "data" : [ 300 , 50 , 100 ] , "backgroundColor" : [ "rgb(255, 99, 132)" , "rgb(54, 162, 235)" , "rgb(255, 205, 86)" ] } ] } } ) ; < / script > < / div > < / p >
< h2 id = "example-usage" > Example Usage< / h2 >
< pre > < code class = "lang-javascript" > < span class = "hljs-comment" > // For a pie chart< / span >
< span class = "hljs-keyword" > var< / span > myPieChart = < span class = "hljs-keyword" > new< / span > Chart(ctx,{
type: < span class = "hljs-string" > ' pie' < / span > ,
data: data,
options: options
});
< / code > < / pre >
< pre > < code class = "lang-javascript" > < span class = "hljs-comment" > // And for a doughnut chart< / span >
< span class = "hljs-keyword" > var< / span > myDoughnutChart = < span class = "hljs-keyword" > new< / span > Chart(ctx, {
type: < span class = "hljs-string" > ' doughnut' < / span > ,
data: data,
options: options
});
< / code > < / pre >
< h2 id = "dataset-properties" > Dataset Properties< / h2 >
< p > The doughnut/pie chart allows a number of properties to be specified for each dataset. These are used to set display properties for a specific dataset. For example, the colour of a the dataset' s arc are generally set this way.< / p >
< table >
< thead >
< tr >
< th > Name< / th >
< th > Type< / th >
< th > Description< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td > < code > backgroundColor< / code > < / td >
< td > < code > Color[]< / code > < / td >
< td > The fill color of the arcs in the dataset. See < a href = "../general/colors.html#colors" > Colors< / a > < / td >
< / tr >
< tr >
< td > < code > borderColor< / code > < / td >
< td > < code > Color[]< / code > < / td >
< td > The border color of the arcs in the dataset. See < a href = "../general/colors.html#colors" > Colors< / a > < / td >
< / tr >
< tr >
< td > < code > borderWidth< / code > < / td >
< td > < code > Number[]< / code > < / td >
< td > The border width of the arcs in the dataset.< / td >
< / tr >
< tr >
< td > < code > hoverBackgroundColor< / code > < / td >
< td > < code > Color[]< / code > < / td >
< td > The fill colour of the arcs when hovered.< / td >
< / tr >
< tr >
< td > < code > hoverBorderColor< / code > < / td >
< td > < code > Color[]< / code > < / td >
< td > The stroke colour of the arcs when hovered.< / td >
< / tr >
< tr >
< td > < code > hoverBorderWidth< / code > < / td >
< td > < code > Number[]< / code > < / td >
< td > The stroke width of the arcs when hovered.< / td >
< / tr >
< / tbody >
< / table >
< h2 id = "config-options" > Config Options< / h2 >
< p > These are the customisation options specific to Pie & Doughnut charts. These options are merged with the global chart configuration options, and form the options of the chart.< / p >
< table >
< thead >
< tr >
< th > Name< / th >
< th > Type< / th >
< th > Default< / th >
< th > Description< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td > < code > cutoutPercentage< / code > < / td >
< td > < code > Number< / code > < / td >
< td > < code > 50< / code > - for doughnut, < code > 0< / code > - for pie< / td >
< td > The percentage of the chart that is cut out of the middle.< / td >
< / tr >
< tr >
< td > < code > rotation< / code > < / td >
< td > < code > Number< / code > < / td >
< td > < code > -0.5 * Math.PI< / code > < / td >
< td > Starting angle to draw arcs from.< / td >
< / tr >
< tr >
< td > < code > circumference< / code > < / td >
< td > < code > Number< / code > < / td >
< td > < code > 2 * Math.PI< / code > < / td >
< td > Sweep to allow arcs to cover< / td >
< / tr >
< tr >
< td > < code > animation.animateRotate< / code > < / td >
< td > < code > Boolean< / code > < / td >
< td > < code > true< / code > < / td >
< td > If true, the chart will animate in with a rotation animation. This property is in the < code > options.animation< / code > object.< / td >
< / tr >
< tr >
< td > < code > animation.animateScale< / code > < / td >
< td > < code > Boolean< / code > < / td >
< td > < code > false< / code > < / td >
< td > If true, will animate scaling the chart from the center outwards.< / td >
< / tr >
< / tbody >
< / table >
< h2 id = "default-options" > Default Options< / h2 >
< p > We can also change these default values for each Doughnut type that is created, this object is available at < code > Chart.defaults.doughnut< / code > . Pie charts also have a clone of these defaults available to change at < code > Chart.defaults.pie< / code > , with the only difference being < code > cutoutPercentage< / code > being set to 0.< / p >
< h2 id = "data-structure" > Data Structure< / h2 >
< p > For a pie chart, datasets need to contain an array of data points. The data points should be a number, Chart.js will total all of the numbers and calculate the relative proportion of each.< / p >
< p > You also need to specify an array of labels so that tooltips appear correctly< / p >
< pre > < code class = "lang-javascript" > data = {
datasets: [{
data: [< span class = "hljs-number" > 10< / span > , < span class = "hljs-number" > 20< / span > , < span class = "hljs-number" > 30< / span > ]
}],
< span class = "hljs-comment" > // These labels appear in the legend and in the tooltips when hovering different arcs< / span >
labels: [
< span class = "hljs-string" > ' Red' < / span > ,
< span class = "hljs-string" > ' Yellow' < / span > ,
< span class = "hljs-string" > ' Blue' < / span >
]
};
< / code > < / pre >
< / section >
< / div >
< div class = "search-results" >
< div class = "has-results" >
< h1 class = "search-results-title" > < span class = 'search-results-count' > < / span > results matching "< span class = 'search-query' > < / span > "< / h1 >
< ul class = "search-results-list" > < / ul >
< / div >
< div class = "no-results" >
< h1 class = "search-results-title" > No results matching "< span class = 'search-query' > < / span > "< / h1 >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< a href = "radar.html" class = "navigation navigation-prev " aria-label = "Previous page: Radar" >
< i class = "fa fa-angle-left" > < / i >
< / a >
< a href = "polar.html" class = "navigation navigation-next " aria-label = "Next page: Polar Area" >
< i class = "fa fa-angle-right" > < / i >
< / a >
< / div >
< script >
var gitbook = gitbook || [];
gitbook.push(function() {
2018-04-23 00:08:03 +00:00
gitbook.page.hasChanged({"page":{"title":"Doughnut & Pie","level":"1.5.4","depth":2,"next":{"title":"Polar Area","level":"1.5.5","depth":2,"path":"charts/polar.md","ref":"charts/polar.md","articles":[]},"previous":{"title":"Radar","level":"1.5.3","depth":2,"path":"charts/radar.md","ref":"charts/radar.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-lunr","-search","search-plus","anchorjs","chartjs","ga"],"root":"./docs","styles":{"website":"style.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"anchorjs":{"icon":"#","placement":"left","visible":"always"},"ga":{"configuration":"auto","token":"UA-28909194-3"},"theme-default":{"styles":{"website":"style.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"search-plus":{},"chartjs":{"defaults":null},"highlight":{},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2}},"theme":"default","author":"chartjs","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"Chart.js documentation","gitbook":"3.2.2"},"file":{"path":"charts/doughnut.md","mtime":"2018-03-01T21:46:31.675Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2018-03-01T21:50:47.970Z"},"basePath":"..","book":{"language":""}});
2018-03-17 17:07:55 +00:00
});
< / script >
< / div >
< script src = "../gitbook/gitbook.js" > < / script >
< script src = "../gitbook/theme.js" > < / script >
< script src = "../gitbook/gitbook-plugin-search-plus/jquery.mark.min.js" > < / script >
< script src = "../gitbook/gitbook-plugin-search-plus/search.js" > < / script >
2018-04-23 00:08:03 +00:00
< script src = "https://cdnjs.cloudflare.com/ajax/libs/anchor-js/4.1.0/anchor.min.js" > < / script >
2018-03-17 17:07:55 +00:00
< script src = "../gitbook/gitbook-plugin-anchorjs/anchor-style.js" > < / script >
< script src = "../gitbook/gitbook-plugin-ga/plugin.js" > < / script >
< script src = "../gitbook/gitbook-plugin-sharing/buttons.js" > < / script >
< script src = "../gitbook/gitbook-plugin-fontsettings/fontsettings.js" > < / script >
< / body >
< / html >