C3.js | D3-based reusable chart library Getting Started Examples Reference Forum Source C3.js D3-based reusable chart library Start Demo 0 1 2 3 4 5 6 7 8 0 50 100 150 200 250 300 350 400 data1 Why C3? Comfortable C3 makes it easy to generate D3-based charts by wrapping the code required to construct the entire chart. We don't need to write D3 code any more. Customizable C3 gives some classes to each element when generating, so you can define a custom style by the class and it's possible to extend the structure directly by D3. Controllable C3 provides a variety of APIs and callbacks to access the state of the chart. By using them, you can update the chart even after it's rendered. C3 enables deeper integration of charts into your application. Getting Started Change Log v0.7.20 - 2020-08-08 Bug fixes. v0.7.18 - 2020-06-17 Bug fixes. v0.7.17 - 2020-06-15 Bug fixes. v0.7.16 - 2020-06-15 Bug fixes. v0.7.15 - 2020-02-28 Bug fixes. v0.7.14 - 2020-02-24 Bug fixes. v0.7.12 - 2019-10-04 Add rollup support. Improved subchart handling. v0.7.11 - 2019-10-04 Bug fixes. v0.7.10 - 2019-10-02 Bug fixes. v0.7.9 - 2019-09-23 Experimental support for y/y2 log scale. Restore tooltip behavior when grouped. Add Region Labels. v0.7.8 - 2019-08-25 Fix scatter appearance. Points in charts can be styled by css. A fix for Firefox. v0.7.7 - 2019-08-25 Fix a bug. v0.7.6 - 2019-08-20 A bug fix. v0.7.5 - 2019-08-19 Add normalized stack chart. Bug fixes. v0.7.4 - 2019-08-09 Add padAngle option. A bug fix. v0.7.3 - 2019-07-29 Bug fixes. v0.7.2 - 2019-07-06 Add stanford.scaleValues option. v0.7.1 - 2019-05-29 Add an option for tooltip behavior. v0.7.0 - 2019-04-10 Add stanford diagram. v0.6.14 - 2019-03-27 Fixed a memory leak. Fixed .selected() API. v0.6.13 - 2019-03-04 Reverted resizing change in 0.6.11. v0.6.12 - 2018-12-28 Added index to tooltip’s title format callback. v0.6.11 - 2018-12-08 Fix a bug of resizing. v0.6.10 - 2018-12-04 Fix a bug of arc chart. v0.6.9 - 2018-11-22 Fix a bug. v0.6.8 - 2018-10-01 Add src/* npm package. v0.6.7 - 2018-08-08 Add the zoom type 'drag'. v0.6.6 - 2018-07-24 Fix bug of gauge chart. v0.6.5 - 2018-07-14 Fix bug of hidden legend option. v0.6.4 - 2018-07-12 Fix a bug of mouse events. v0.6.3 - 2018-07-06 Fix a bug of gauge. v0.6.2 - 2018-06-08 Add step-before and step-after for line.step.type option. v0.4.23 - 2018-05-18 Add axis.x.tick.multilineMax option (0.4 branch). v0.6.1 - 2018-05-17 Add axis.x.tick.multilineMax option. v0.6.0 - 2018-05-14 Update D3 dependency to v5. v0.5.4 - 2018-04-23 Bug fixes. v0.5.3 - 2018-04-12 Bug fixes. v0.5.2 - 2018-03-31 Bug fixes. v0.5.1 - 2018-03-25 Bug fixes. v0.5.0 - 2018-03-24 Update D3 dependency to version 4. v0.4.22 - 2018-03-21 Add axis.x.inner option. v0.4.21 - 2018-02-15 Multi arc gauge chart. v0.4.20 - 2018-02-11 Fix gauge chart with fullCircle option. v0.4.19 - 2018-02-10 Do not call resize functions when chart is hidden. Switched CI environment. Have license in minified bundle. Fixed a memory leak. v0.4.18 - 2017-09-14 point.focus.expand.r takes a function. Pie and donuts really handle data.order correctly. v0.4.17 - 2017-08-19 Added bar.space option. v0.4.16 - 2017-08-16 Bug fix of bar chart. v0.4.15 - 2017-07-20 Move some style handling to css. v0.4.14 - 2017-06-24 Bug fix. v0.4.13 - 2017-06-11 New option and bug fixes. v0.4.12 - 2017-05-28 Performance improvement and bug fixes. v0.4.11 - 2016-05-01 New features, performance improvement and bug fixes. v0.4.10 - 2015-03-17 New features, performance improvement and bug fixes. v0.4.9 - 2015-01-18 New features, performance improvement and bug fixes. v0.4.8 - 2014-12-14 Bug fixes. v0.4.7 - 2014-12-02 Bug fixes. v0.4.6 - 2014-12-01 Bug fixes. v0.4.5 - 2014-11-30 Bug fixes. Performance improvement. v0.4.4 - 2014-11-21 New features (e.g. axis.y/y2.inner, legend.hide options) Bug fixes. Performance improvement. v0.4.3 - 2014-11-18 Bug fixes. v0.4.2 - 2014-11-17 Bug fixes. v0.4.1 - 2014-11-16 Fixed class suffix. v0.4.0 - 2014-11-15 A lot of bug fixes and new features Introduce unit test (it's not enough though) and more... v0.3.0 - 2014-08-22 Introduced new architecture so that we can extend this library more easily. Modified some options such as data.xFormat and data.xLocaltime. Splitted source file into small ones. v0.2.5 - 2014-08-09 Modified to use data.onclick, data.onmouseover and data.onmouseout on pie/donut/gauge instead of its callbacks Modified unload interface Bug fixes and more... v0.2.4 - 2014-06-16 Added new options such as pie.sort, donut.sort, bar.zerobased, area.zerobased Added new API such as category, categories Bug fixes v0.2.3 - 2014-06-04 Renamed callbacks (onend/onenter/onleave) Added extension for zoom with reduction (by @danelkhen Thank you!) Bug fixes v0.2.2 - 2014-06-03 Supported ungrouped tooltip Added zoom.enable API Bug fixes v0.2.1 - 2014-06-02 Bug fixes v0.2.0 - 2014-05-30 Supported step line/area, stacked line/area, stacked line/area, gauge chart Supported JSON as input Added flow API etc v0.1.42 - 2014-05-18 Browser Support Because of the dependence on D3, C3 supports only modern browsers D3 supports. Please see the description in D3. Note: For IE9 and IE10, polyfill is required because c3 uses MutationObserver, which is not supported in those versions. However, it's not required if charts always will be binded to the DOM specified by bindto because MutationObserver is not called in that case. Dependency D3.js ^4.12.0 Note: If you need to use D3 v3.x, please use C3 v0.4.22, which is compatible with D3 v3.x. License MIT © Masayuki Tanaka 2014