| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384 |
- .container.sidemenu
- .row
- .large-3.medium-4.columns.column-menu
- .side-bar
- %ul.side-nav
- %li GETTING STARTED
- %li
- %a( href="#setup" ) 1. Setup
- %li
- %a( href="#generate" ) 2. Generate chart
- %li
- %a( href="#customize" ) 3. Customize chart
- %li
- %a( href="#api" ) 4. Use APIs
- %li
- %a( href="#style" ) 5. Customize style
- %li
- %a( href="#more" ) 6. And more..
- .large-9.medium-8.columns.column-content
- %section
- %h2 Getting Started
- %p In this guide, we are going to show you how to get started with C3.
- %hr
- %section
- %h3
- %a( href="#setup" ) 1. Setup
- %p Download the latest version here:
- %ul
- %li <a href="https://github.com/c3js/c3/releases/latest" target="_blank">https://github.com/c3js/c3/releases/latest</a>
- %p Installing by Bower/Component is also available with the name <span class="code">c3</span>.
- %p Then, load the scripts and css:
- .sourcecode.highlight
- %pre
- %code.html.xml
- :preserve
- <span class="comment"><!-- Load c3.css --></span>
- <span class="tag"><<span class="title">link</span> <span class="attribute">href</span>=<span class="value">"/path/to/c3.css"</span> <span class="attribute">rel</span>=<span class="value">"stylesheet"</span>></span>
- <span class="comment"><!-- Load d3.js and c3.js --></span>
- <span class="tag"><<span class="title">script</span> <span class="attribute">src</span>=<span class="value">"/path/to/d3.v5.min.js"</span> <span class="attribute">charset</span>=<span class="value">"utf-8"</span>></span><span class="tag"></<span class="title">script</span>></span>
- <span class="tag"><<span class="title">script</span> <span class="attribute">src</span>=<span class="value">"/path/to/c3.min.js"</span>></span><span class="tag"></<span class="title">script</span>></span>
- %p C3 depends on D3, so please load D3 too.
- %hr
- %section
- %h3
- %a( href="#generate" ) 2. Generate Chart
- %p C3 generates a chart by calling <span class="code">generate()</span> with the argument object, and an element including the chart will insert into the element specified as a selector in that argument as <span class="code">bindto</span>.
- %p Prepare the element to bind the chart:
- .sourcecode.highlight
- %pre
- %code.html.xml
- :preserve
- <span class="tag"><<span class="title">div</span> <span class="attribute">id</span>=<span class="value">"chart"</span>></<span class="title">div</span>></span>
- %p And, call <span class="code">generate()</span> with arguments:
- .sourcecode.highlight
- %pre
- %code.javascript
- :preserve
- var chart = c3.generate({
- bindto: '#chart',
- data: {
- columns: [
- ['data1', 30, 200, 100, 400, 150, 250],
- ['data2', 50, 20, 10, 40, 15, 25]
- ]
- }
- });
- %p C3 supports the asynchronous module definition (AMD) API. If you use <a href="http://requirejs.org/" target="_blank">RequireJS</a>, you can load like this:
- .sourcecode.highlight
- %pre
- %code.javascript
- :preserve
- require.config({
- baseUrl: '/js',
- paths: {
- d3: "http://d3js.org/d3.v5.min"
- }
- });
- require(["d3", "c3"], function(d3, c3) {
- c3.generate({
- ...
- });
- });
- %p Then, you will see the chart:
- #chart2_1
- %br
- %p Data can be loaded as <a href="/samples/data_columned.html">columned data</a> / <a href="/samples/data_rowed.html">rowed data</a> / <a href="/samples/data_url.html">csv in URL</a>.
- %p There are serveral options to customize the chart and you can see those here:
- %ul
- %li <a href="/examples.html">Examples</a>
- %hr
- %section
- %h3
- %a( href="#customize" ) 3. Customize Chart
- %p The chart can be customize by giving some options when generating. We will introduce some of them here.
- %h4 1. Additional Axis
- %p Introduce additional axis for <span class="code">data2</span>. Add <span class="code">data.axes</span> and <span class="code">axis.y2.show</span> as follows:
- .sourcecode.highlight
- %pre
- %code.javascript
- :preserve
- var chart = c3.generate({
- bindto: '#chart',
- data: {
- columns: [
- ['data1', 30, 200, 100, 400, 150, 250],
- ['data2', 50, 20, 10, 40, 15, 25]
- ],
- axes: {
- data2: 'y2' // ADD
- }
- },
- axis: {
- y2: {
- show: true // ADD
- }
- }
- });
- %p Then, the chart will be like this:
- #chart3_1
- %br
- %h4 2. Show Axis Label
- %p Show labels for each axis. Add <span class="code">axis.y.label</span> and <span class="code">axis.y2.label</span> as follows:
- .sourcecode.highlight
- %pre
- %code.javascript
- :preserve
- var chart = c3.generate({
- bindto: '#chart',
- data: {
- columns: [
- ['data1', 30, 200, 100, 400, 150, 250],
- ['data2', 50, 20, 10, 40, 15, 25]
- ],
- axes: {
- data2: 'y2'
- }
- },
- axis: {
- y: {
- label: { // ADD
- text: 'Y Label',
- position: 'outer-middle'
- }
- },
- y2: {
- show: true,
- label: { // ADD
- text: 'Y2 Label',
- position: 'outer-middle'
- }
- }
- }
- });
- %p Then, the chart will be like this:
- #chart3_2
- %br
- %h4 3. Change Chart Type
- %p Show <span class="code">data2</span> as Bar chart. Add <span class="code">data.types</span> as follows:
- .sourcecode.highlight
- %pre
- %code.javascript
- :preserve
- var chart = c3.generate({
- bindto: '#chart',
- data: {
- columns: [
- ['data1', 30, 200, 100, 400, 150, 250],
- ['data2', 50, 20, 10, 40, 15, 25]
- ],
- axes: {
- data2: 'y2'
- },
- types: {
- data2: 'bar' // ADD
- }
- },
- axis: {
- y: {
- label: {
- text: 'Y Label',
- position: 'outer-middle'
- }
- },
- y2: {
- show: true,
- label: {
- text: 'Y2 Label',
- position: 'outer-middle'
- }
- }
- }
- });
- %p Then, the chart will be like this:
- #chart3_3
- %br
- %h4 4. Format values
- %p Format the values of each data. Add <span class="code">axis.y.tick.format</span> as follows:
- .sourcecode.highlight
- %pre
- %code.javascript
- :preserve
- var chart = c3.generate({
- bindto: '#chart',
- data: {
- columns: [
- ['data1', 30, 200, 100, 400, 150, 250],
- ['data2', 50, 20, 10, 40, 15, 25]
- ],
- axes: {
- data2: 'y2'
- },
- types: {
- data2: 'bar'
- }
- },
- axis: {
- y: {
- label: {
- text: 'Y Label',
- position: 'outer-middle'
- },
- tick: {
- format: d3.format("$,") // ADD
- }
- },
- y2: {
- show: true,
- label: {
- text: 'Y2 Label',
- position: 'outer-middle'
- }
- }
- }
- });
- %p Then, the chart will be like this:
- #chart3_4
- %br
- %p More information about the options, please see <a href="/examples.html">Examples</a>. (We'll add the reference soon)
- %hr
- %section
- %h3
- %a( href="#api" ) 4. Use APIs
- %p By using APIs, you can update the chart after it's been rendered. We will introduce some of APIs here. APIs can be called through the object returned from <span class="code">generate()</span>.
- %h4 1. Load Data
- %p By using <span class="code">load()</span> API, you can load data and update the chart dynamically as follows:
- .sourcecode.highlight
- %pre
- %code.javascript
- :preserve
- // var chart = c3.generate({ ... });
- chart.load({
- columns: [
- ['data1', 300, 100, 250, 150, 300, 150, 500],
- ['data2', 100, 200, 150, 50, 100, 250]
- ]
- });
- %p If you push the button "Load" below, this code will run and the chart will be updated.
- %button.small( onclick="example4_1();" ) Load
- #chart4_1
- %br
- %h4 2. Unload Data
- %p By using <span class="code">unload()</span> API, you can unload the data dynamically as follows:
- .sourcecode.highlight
- %pre
- %code.javascript
- :preserve
- // var chart = c3.generate({ ... });
- chart.unload({
- ids: ['data2', 'data3']
- });
- %p If you push the button "Unload" below, this code will run and the chart will be updated.
- %button.small( onclick="example4_2();" ) Unload
- #chart4_2
- %br
- %p Please use <span class="code">unload</span> param in <span class="code">load()</span> API if load and unload need to run simultaneously. Please see <a href="/samples/data_load.html">this example</a>.
- %h4 3. Show/Hide Data
- %p By using <span class="code">show()</span> and <span class="code">hide()</span> API, you can show/hide the data dynamically as follows:
- .sourcecode.highlight
- %pre
- %code.javascript
- :preserve
- // var chart = c3.generate({ ... });
- chart.hide(['data2', 'data3']);
- chart.show(['data2', 'data3']);
- %p If you push the button "Show" and "Hide" below, this code will run and the chart will be updated.
- %button.small( onclick="example4_3_2();" ) Hide
- %button.small( onclick="example4_3_1();" ) Show
- #chart4_3
- %br
- %p The documentation about APIs is poor now, so please check the <a href="https://github.com/c3js/c3/issues?state=open">issues on github</a>. There might be some hints about what you want to do. (We will add the document soon)
- %hr
- %section
- %h3
- %a( href="#style" ) 5. Customize Style
- %p C3 give some classes for each element when generating. So, you can change the style of the elements by using those classes.
- %h4 1. Line style
- %p The lines have <span class="code">c3-line-[id]</span> class, so this class can be used to define the style in css as follows:
- .sourcecode.highlight
- %pre
- %code.css
- :preserve
- #chart .c3-line-data2 {
- stroke-width: 5px;
- }
- #chart5_1
- %br
- %p Please check the class for each element if you want to change the style. Web Inspector would be useful. (We will add the document for class definition soon)
- %hr
- %section
- %h3
- %a( href="#more" ) 6. And More..
- %p Please check the <a href="/examples.html">examples</a> and the <a href="https://github.com/c3js/c3/issues?state=open">issues</a> on github for more information. Sorry for the poor documentation. We're working on now and please give me some time. Thank you.
- = partial :footer
- = partial :script
- = partial :script_scroll
- = javascript_include_tag 'gettingstarted.js'
|