mirror of https://github.com/masayuki0812/c3.git
Kyle Campbell
10 years ago
153 changed files with 22949 additions and 4366 deletions
@ -1,8 +1,31 @@ |
|||||||
c3 [![Build Status](https://travis-ci.org/masayuki0812/c3.png?branch=master)](https://travis-ci.org/masayuki0812/c3) |
c3 [![Build Status](https://travis-ci.org/masayuki0812/c3.png?branch=master)](https://travis-ci.org/masayuki0812/c3) |
||||||
== |
== |
||||||
|
|
||||||
c3 is a D3-based chart library that allows you to integrate charts into web applications more deeply. |
c3 is a D3-based reusable chart library that enables deeper integration of charts into web applications. |
||||||
|
|
||||||
More information in [the wiki](https://github.com/masayuki0812/c3/wiki). |
More information is here: [http://c3js.org](http://c3js.org/) |
||||||
|
|
||||||
Samples in [c3js.org](http://c3js.org/#basic) |
## Tutorial and Examples |
||||||
|
|
||||||
|
+ [Getting Started](http://c3js.org/gettingstarted.html) |
||||||
|
+ [Examples](http://c3js.org/examples.html) |
||||||
|
|
||||||
|
Another samples are included in this repository: |
||||||
|
+ [https://github.com/masayuki0812/c3/tree/master/htdocs/samples](https://github.com/masayuki0812/c3/tree/master/htdocs/samples) |
||||||
|
|
||||||
|
And you can run these samples as: |
||||||
|
``` |
||||||
|
$ cd c3/htdocs |
||||||
|
$ python -m SimpleHTTPServer 8080 |
||||||
|
``` |
||||||
|
|
||||||
|
## Forum |
||||||
|
Now you can ask anything in this forum: |
||||||
|
+ [https://groups.google.com/forum/#!forum/c3js](https://groups.google.com/forum/#!forum/c3js) |
||||||
|
|
||||||
|
## Playground |
||||||
|
Please fork this fiddle: |
||||||
|
+ [http://jsfiddle.net/masayuki0812/7kYJu/](http://jsfiddle.net/masayuki0812/7kYJu/) |
||||||
|
|
||||||
|
## License |
||||||
|
MIT |
||||||
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,380 @@ |
|||||||
|
var c3ext = {}; |
||||||
|
c3ext.generate = function (options) { |
||||||
|
|
||||||
|
if (options.zoom2 != null) { |
||||||
|
zoom2_reducers = options.zoom2.reducers || {}; |
||||||
|
zoom2_enabled = options.zoom2.enabled; |
||||||
|
_zoom2_factor = options.zoom2.factor || 1; |
||||||
|
_zoom2_maxItems = options.zoom2.maxItems; |
||||||
|
} |
||||||
|
|
||||||
|
if (!zoom2_enabled) { |
||||||
|
return c3.generate(options); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
var originalData = Q.copy(options.data); |
||||||
|
var zoom2_reducers; |
||||||
|
var zoom2_enabled; |
||||||
|
var _zoom2_maxItems; |
||||||
|
|
||||||
|
if (_zoom2_maxItems == null) { |
||||||
|
var el = d3.select(options.bindto)[0][0]; |
||||||
|
if (el != null) { |
||||||
|
var availWidth = el.clientWidth; |
||||||
|
|
||||||
|
var pointSize = 20; |
||||||
|
_zoom2_maxItems = Math.ceil(availWidth / pointSize); |
||||||
|
} |
||||||
|
if (_zoom2_maxItems == null || _zoom2_maxItems < 10) { |
||||||
|
_zoom2_maxItems = 10; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function onZoomChanged(e) { |
||||||
|
refresh(); |
||||||
|
} |
||||||
|
|
||||||
|
var zoom2 = c3ext.ZoomBehavior({ changed: onZoomChanged, bindto: options.bindto }); |
||||||
|
|
||||||
|
zoom2.enhance = function () { |
||||||
|
_zoom2_maxItems *= 2; |
||||||
|
var totalItems = zoom2.getZoom().totalItems; |
||||||
|
if (_zoom2_maxItems > totalItems) |
||||||
|
_zoom2_maxItems = totalItems; |
||||||
|
refresh(); |
||||||
|
} |
||||||
|
zoom2.dehance = function () { |
||||||
|
_zoom2_maxItems = Math.ceil(_zoom2_maxItems / 2) + 1; |
||||||
|
refresh(); |
||||||
|
} |
||||||
|
|
||||||
|
zoom2.maxItems = function () { return _zoom2_maxItems; }; |
||||||
|
function zoomAndReduceData(list, zoomRange, func, maxItems) { |
||||||
|
//var maxItems = 10;//Math.ceil(10 * zoomFactor);
|
||||||
|
var list2 = list.slice(zoomRange[0], zoomRange[1]); |
||||||
|
var chunkSize = 1; |
||||||
|
var list3 = list2; |
||||||
|
if (list3.length > maxItems) { |
||||||
|
var chunkSize = Math.ceil(list2.length / maxItems); |
||||||
|
list3 = list3.splitIntoChunksOf(chunkSize).map(func); |
||||||
|
} |
||||||
|
//console.log("x" + getCurrentZoomLevel() + ", maxItems=" + maxItems + " chunkSize=" + chunkSize + " totalBefore=" + list2.length + ", totalAfter=" + list3.length);
|
||||||
|
return list3; |
||||||
|
} |
||||||
|
|
||||||
|
function first(t) { return t[0]; } |
||||||
|
|
||||||
|
var getDataForZoom = function (data) { |
||||||
|
if (data.columns == null || data.columns.length == 0) |
||||||
|
return; |
||||||
|
|
||||||
|
var zoomInfo = zoom2.getZoom(); |
||||||
|
if (zoomInfo.totalItems != data.columns[0].length - 1) { |
||||||
|
zoom2.setOptions({ totalItems: data.columns[0].length - 1 }); |
||||||
|
zoomInfo = zoom2.getZoom(); |
||||||
|
} |
||||||
|
data.columns = originalData.columns.map(function (column) { |
||||||
|
var name = column[0]; |
||||||
|
var reducer = zoom2_reducers[name] || first; //by default take the first
|
||||||
|
|
||||||
|
var values = column.slice(1); |
||||||
|
var newValues = zoomAndReduceData(values, zoomInfo.currentZoom, reducer, _zoom2_maxItems); |
||||||
|
return [name].concat(newValues); |
||||||
|
}); |
||||||
|
return data; |
||||||
|
}; |
||||||
|
|
||||||
|
getDataForZoom(options.data); |
||||||
|
var chart = c3.generate(options); |
||||||
|
var _chart_load_org = chart.load.bind(chart); |
||||||
|
chart.zoom2 = zoom2; |
||||||
|
chart.load = function (data) { |
||||||
|
if (data.unload) { |
||||||
|
unload(data.unload); |
||||||
|
delete data.unload; |
||||||
|
} |
||||||
|
Q.copy(data, originalData); |
||||||
|
refresh(); |
||||||
|
} |
||||||
|
chart.unload = function (names) { |
||||||
|
unload(names); |
||||||
|
refresh(); |
||||||
|
} |
||||||
|
|
||||||
|
function unload(names) { |
||||||
|
originalData.columns.removeAll(function (t) { names.contains(t); }); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
function refresh() { |
||||||
|
var data = Q.copy(originalData) |
||||||
|
getDataForZoom(data); |
||||||
|
_chart_load_org(data); |
||||||
|
}; |
||||||
|
|
||||||
|
|
||||||
|
return chart; |
||||||
|
} |
||||||
|
|
||||||
|
c3ext.ZoomBehavior = function (options) { |
||||||
|
var zoom = { __type: "ZoomBehavior" }; |
||||||
|
|
||||||
|
var _zoom2_factor; |
||||||
|
var _left; |
||||||
|
var totalItems; |
||||||
|
var currentZoom; |
||||||
|
var bindto = options.bindto; |
||||||
|
var _zoomChanged = options.changed || function () { }; |
||||||
|
var element; |
||||||
|
var mousewheelTimer; |
||||||
|
var deltaY = 0; |
||||||
|
var leftRatio = 0; |
||||||
|
|
||||||
|
|
||||||
|
zoom.setOptions = function (options) { |
||||||
|
if (options == null) |
||||||
|
options = {}; |
||||||
|
_zoom2_factor = options.factor || 1; |
||||||
|
_left = 0; |
||||||
|
totalItems = options.totalItems || 0; |
||||||
|
currentZoom = [0, totalItems]; |
||||||
|
_zoomChanged = options.changed || _zoomChanged; |
||||||
|
} |
||||||
|
|
||||||
|
zoom.setOptions(options); |
||||||
|
|
||||||
|
|
||||||
|
function verifyZoom(newZoom) { |
||||||
|
//newZoom.sort();
|
||||||
|
if (newZoom[1] > totalItems) { |
||||||
|
var diff = newZoom[1] - totalItems; |
||||||
|
newZoom[0] -= diff; |
||||||
|
newZoom[1] -= diff; |
||||||
|
} |
||||||
|
if (newZoom[0] < 0) { |
||||||
|
var diff = newZoom[0] * -1; |
||||||
|
newZoom[0] += diff; |
||||||
|
newZoom[1] += diff; |
||||||
|
} |
||||||
|
if (newZoom[1] > totalItems) |
||||||
|
newZoom[1] = totalItems; |
||||||
|
if (newZoom[0] < 0) |
||||||
|
newZoom[0] = 0; |
||||||
|
} |
||||||
|
|
||||||
|
function zoomAndPan(zoomFactor, left) { |
||||||
|
var itemsToShow = Math.ceil(totalItems / zoomFactor); |
||||||
|
var newZoom = [left, left + itemsToShow]; |
||||||
|
verifyZoom(newZoom); |
||||||
|
currentZoom = newZoom; |
||||||
|
onZoomChanged(); |
||||||
|
} |
||||||
|
|
||||||
|
function onZoomChanged() { |
||||||
|
if (_zoomChanged != null) |
||||||
|
_zoomChanged(zoom.getZoom()); |
||||||
|
} |
||||||
|
function applyZoomAndPan() { |
||||||
|
zoomAndPan(_zoom2_factor, _left); |
||||||
|
} |
||||||
|
function getItemsToShow() { |
||||||
|
var itemsToShow = Math.ceil(totalItems / _zoom2_factor); |
||||||
|
return itemsToShow; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
zoom.getZoom = function () { |
||||||
|
return { totalItems: totalItems, currentZoom: currentZoom.slice() }; |
||||||
|
} |
||||||
|
|
||||||
|
zoom.factor = function (factor, skipDraw) { |
||||||
|
if (arguments.length == 0) |
||||||
|
return _zoom2_factor; |
||||||
|
_zoom2_factor = factor; |
||||||
|
if (_zoom2_factor < 1) |
||||||
|
_zoom2_factor = 1; |
||||||
|
if (skipDraw) |
||||||
|
return; |
||||||
|
applyZoomAndPan(); |
||||||
|
} |
||||||
|
zoom.left = function (left, skipDraw) { |
||||||
|
if (arguments.length == 0) |
||||||
|
return _left; |
||||||
|
_left = left; |
||||||
|
if (_left < 0) |
||||||
|
_left = 0; |
||||||
|
var pageSize = getItemsToShow(); |
||||||
|
//_left += pageSize;
|
||||||
|
if (_left + pageSize > totalItems) |
||||||
|
_left = totalItems - pageSize; |
||||||
|
console.log({ left: _left, pageSize: pageSize }); |
||||||
|
if (skipDraw) |
||||||
|
return; |
||||||
|
applyZoomAndPan(); |
||||||
|
} |
||||||
|
|
||||||
|
zoom.zoomAndPanByRatio = function (zoomRatio, panRatio) { |
||||||
|
|
||||||
|
var pageSize = getItemsToShow(); |
||||||
|
var leftOffset = Math.round(pageSize * panRatio); |
||||||
|
var mouseLeft = _left + leftOffset; |
||||||
|
zoom.factor(zoom.factor() * zoomRatio, true); |
||||||
|
|
||||||
|
var finalLeft = mouseLeft; |
||||||
|
if (zoomRatio != 1) { |
||||||
|
var pageSize2 = getItemsToShow(); |
||||||
|
var leftOffset2 = Math.round(pageSize2 * panRatio); |
||||||
|
finalLeft = mouseLeft - leftOffset2; |
||||||
|
} |
||||||
|
zoom.left(finalLeft, true); |
||||||
|
applyZoomAndPan(); |
||||||
|
} |
||||||
|
|
||||||
|
zoom.zoomIn = function () { |
||||||
|
zoom.zoomAndPanByRatio(2, 0); |
||||||
|
} |
||||||
|
|
||||||
|
zoom.zoomOut = function () { |
||||||
|
zoom.zoomAndPanByRatio(0.5, 0); |
||||||
|
} |
||||||
|
|
||||||
|
zoom.panLeft = function () { |
||||||
|
zoom.zoomAndPanByRatio(1, -1); |
||||||
|
} |
||||||
|
zoom.panRight = function () { |
||||||
|
zoom.zoomAndPanByRatio(1, 1); |
||||||
|
} |
||||||
|
|
||||||
|
zoom.reset = function () { |
||||||
|
_left = 0; |
||||||
|
_zoom2_factor = 1; |
||||||
|
applyZoomAndPan(); |
||||||
|
} |
||||||
|
|
||||||
|
function doZoom() { |
||||||
|
if (deltaY != 0) { |
||||||
|
var maxDelta = 10; |
||||||
|
var multiply = (maxDelta + deltaY) / maxDelta; |
||||||
|
//var factor = chart.zoom2.factor()*multiply;
|
||||||
|
//factor= Math.ceil(factor*100) / 100;
|
||||||
|
console.log({ deltaY: deltaY, multiply: multiply }); |
||||||
|
zoom.zoomAndPanByRatio(multiply, leftRatio);//0.5);//leftRatio);
|
||||||
|
deltaY = 0; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function element_mousewheel(e) { |
||||||
|
deltaY += e.deltaY; |
||||||
|
leftRatio = (e.offsetX - 70) / (e.currentTarget.offsetWidth - 70); |
||||||
|
//console.log({ "e.offsetX": e.offsetX, "e.currentTarget.offsetWidth": e.currentTarget.offsetWidth, leftRatio: leftRatio });
|
||||||
|
mousewheelTimer.set(150); |
||||||
|
e.preventDefault(); |
||||||
|
} |
||||||
|
|
||||||
|
if (bindto != null) { |
||||||
|
element = $(options.bindto); |
||||||
|
if (element.mousewheel) { |
||||||
|
mousewheelTimer = new Timer(doZoom); |
||||||
|
element.mousewheel(element_mousewheel); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
return zoom; |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
if (typeof (Q) == "undefined") { |
||||||
|
var Q = function () { |
||||||
|
}; |
||||||
|
|
||||||
|
Q.copy = function (src, target, options, depth) { |
||||||
|
///<summary>Copies an object into a target object, recursively cloning any object or array in the way, overwrite=true will overwrite a primitive field value even if exists</summary>
|
||||||
|
///<param name="src" />
|
||||||
|
///<param name="target" />
|
||||||
|
///<param name="options" type="Object">{ overwrite:false }</param>
|
||||||
|
///<returns type="Object">The copied object</returns>
|
||||||
|
if (depth == null) |
||||||
|
depth = 0; |
||||||
|
if (depth == 100) { |
||||||
|
console.warn("Q.copy is in depth of 100 - possible circular reference") |
||||||
|
} |
||||||
|
options = options || { overwrite: false }; |
||||||
|
if (src == target || src == null) |
||||||
|
return target; |
||||||
|
if (typeof (src) != "object") { |
||||||
|
if (options.overwrite || target == null) |
||||||
|
return src; |
||||||
|
return target; |
||||||
|
} |
||||||
|
if (typeof (src.clone) == "function") { |
||||||
|
if (options.overwrite || target == null) |
||||||
|
return src.clone(); |
||||||
|
return target; |
||||||
|
} |
||||||
|
if (target == null) { |
||||||
|
if (src instanceof Array) |
||||||
|
target = []; |
||||||
|
else |
||||||
|
target = {}; |
||||||
|
} |
||||||
|
|
||||||
|
if (src instanceof Array) { |
||||||
|
for (var i = 0; i < src.length; i++) { |
||||||
|
var item = src[i]; |
||||||
|
var item2 = target[i]; |
||||||
|
item2 = Q.copy(item, item2, options, depth + 1); |
||||||
|
target[i] = item2; |
||||||
|
} |
||||||
|
target.splice(src.length, target.length - src.length); |
||||||
|
return target; |
||||||
|
} |
||||||
|
for (var p in src) { |
||||||
|
var value = src[p]; |
||||||
|
var value2 = target[p]; |
||||||
|
value2 = Q.copy(value, value2, options, depth + 1); |
||||||
|
target[p] = value2; |
||||||
|
} |
||||||
|
return target; |
||||||
|
} |
||||||
|
} |
||||||
|
if (typeof (Timer) == "undefined") { |
||||||
|
var Timer = function (action, ms) { |
||||||
|
this.action = action; |
||||||
|
if (ms != null) |
||||||
|
this.set(ms); |
||||||
|
} |
||||||
|
|
||||||
|
Timer.prototype.set = function (ms) { |
||||||
|
if (ms == null) |
||||||
|
ms = this._ms; |
||||||
|
else |
||||||
|
this._ms = ms; |
||||||
|
this.clear(); |
||||||
|
if (ms == null) |
||||||
|
return; |
||||||
|
this.timeout = window.setTimeout(this.onTick.bind(this), ms); |
||||||
|
} |
||||||
|
|
||||||
|
Timer.prototype.onTick = function () { |
||||||
|
this.clear(); |
||||||
|
this.action(); |
||||||
|
} |
||||||
|
|
||||||
|
Timer.prototype.clear = function (ms) { |
||||||
|
if (this.timeout == null) |
||||||
|
return; |
||||||
|
window.clearTimeout(this.timeout); |
||||||
|
this.timeout = null; |
||||||
|
} |
||||||
|
} |
||||||
|
if (typeof(Array.prototype.splitIntoChunksOf)=="undefined") { |
||||||
|
Array.prototype.splitIntoChunksOf = function (countInEachChunk) { |
||||||
|
var chunks = Math.ceil(this.length / countInEachChunk); |
||||||
|
var list = []; |
||||||
|
for (var i = 0; i < this.length; i += countInEachChunk) { |
||||||
|
list.push(this.slice(i, i + countInEachChunk)); |
||||||
|
} |
||||||
|
return list; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,12 @@ |
|||||||
|
.row { |
||||||
|
margin-left: 8px; |
||||||
|
} |
||||||
|
.row a { |
||||||
|
display: block; |
||||||
|
text-align: left; |
||||||
|
font-size: 1.2em; |
||||||
|
line-height: 1.8; |
||||||
|
} |
||||||
|
.row h3 { |
||||||
|
color: #777; |
||||||
|
} |
@ -0,0 +1,5 @@ |
|||||||
|
{ |
||||||
|
"data1": [120, 140, 170, 150, 180], |
||||||
|
"data2": [80, 50, 100, 70, 120], |
||||||
|
"data3": [200, 210, 250, 300, 280] |
||||||
|
} |
|
@ -0,0 +1,5 @@ |
|||||||
|
{ |
||||||
|
"data1": [20, 40, 70, 50, 80, 30], |
||||||
|
"data2": [180, 150, 200, 170, 220, 400], |
||||||
|
"data3": [1200, 1210, 1250, 1300, 1280, 1000] |
||||||
|
} |
@ -0,0 +1,6 @@ |
|||||||
|
[ |
||||||
|
{ "id": 1, "name": "abc", "data1": 1200, "data2": 500 }, |
||||||
|
{ "id": 2, "name": "efg", "data1": 900, "data2": 600 }, |
||||||
|
{ "id": 3, "name": "pqr", "data1": 1150, "data2": 300 }, |
||||||
|
{ "id": 4, "name": "xyz", "data1": 1020, "data2": 900 } |
||||||
|
] |
|
@ -1,124 +1,472 @@ |
|||||||
<html> |
<html> |
||||||
<head> |
<head> |
||||||
<link href="./css/bootstrap.min.css" rel="stylesheet"> |
<link href="./css/bootstrap.min.css" rel="stylesheet"> |
||||||
|
<link href="./css/index.css" rel="stylesheet"> |
||||||
</head> |
</head> |
||||||
<body> |
<body> |
||||||
<div class="container"> |
<div class="container"> |
||||||
<div class="section"> |
<div class="section"> |
||||||
<a href="#basic" name="basic"><h2># <span>Basic</span></h2></a> |
<h2># <span>Chart Type</span></h2> |
||||||
<div> |
<div> |
||||||
<div class="row"> |
<div class="row"> |
||||||
<div class="col-md-4"> |
<div class="col-md-4"> |
||||||
<h3>Simple Line Chart</h3> |
<h3>Line Chart</h3> |
||||||
<p>Simple line chart for getting started.</p> |
<a href="./samples/simple.html"> |
||||||
<p><a class="btn btn-default" href="./samples/simple.html" role="button">View details »</a></p> |
Line chart with ordinary data |
||||||
|
</a> |
||||||
|
<a href="./samples/chart_spline.html"> |
||||||
|
Spline chart with ordinary data |
||||||
|
</a> |
||||||
|
<a href="./samples/chart_step.html"> |
||||||
|
Step chart with ordinary data |
||||||
|
</a> |
||||||
</div> |
</div> |
||||||
<div class="col-md-4"> |
<div class="col-md-4"> |
||||||
<h3>Multiple Line Chart</h3> |
<h3>Area Chart</h3> |
||||||
<p>Multiple line chart with multiple data.</p> |
<a href="./samples/chart_area.html"> |
||||||
<p><a class="btn btn-default" href="./samples/simple_multiple.html" role="button">View details »</a></p> |
Area chart with ordinary data |
||||||
|
</a> |
||||||
|
<a href="./samples/chart_area_spline.html"> |
||||||
|
Area-spline chart with ordinary data |
||||||
|
</a> |
||||||
|
<a href="./samples/chart_area_step.html"> |
||||||
|
Area-step chart with ordinary data |
||||||
|
</a> |
||||||
|
<a href="./samples/chart_area_stacked.html"> |
||||||
|
Stacked Area chart with ordinary data |
||||||
|
</a> |
||||||
|
<a href="./samples/chart_area_spline_stacked.html"> |
||||||
|
Stacked Area-spline chart with ordinary data |
||||||
|
</a> |
||||||
|
<a href="./samples/chart_area_step_stacked.html"> |
||||||
|
Stacked Area-step chart with ordinary data |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Bar Chart</h3> |
||||||
|
<a href="./samples/chart_bar.html"> |
||||||
|
Bar chart with ordinary data |
||||||
|
</a> |
||||||
|
<a href="./samples/chart_bar_stacked.html"> |
||||||
|
Stacked Bar chart with ordinary data |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Pie Chart</h3> |
||||||
|
<a href="./samples/chart_pie.html"> |
||||||
|
Pie chart with ordinary data |
||||||
|
</a> |
||||||
|
<a href="./samples/chart_pie_sort.html"> |
||||||
|
Pie chart with/without sort |
||||||
|
</a> |
||||||
</div> |
</div> |
||||||
<div class="col-md-4"> |
<div class="col-md-4"> |
||||||
<h3>Timeseries Chart</h3> |
<h3>Donut Chart</h3> |
||||||
<p>Simple line chart with timeseries data.</p> |
<a href="./samples/chart_donut.html"> |
||||||
<p><a class="btn btn-default" href="./samples/timeseries.html" role="button">View details »</a></p> |
Donut chart with ordinary data |
||||||
|
</a> |
||||||
</div> |
</div> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Gauge Chart</h3> |
||||||
|
<a href="./samples/chart_gauge.html"> |
||||||
|
Gauge chart with ordinary data |
||||||
|
</a> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Scatter Chart</h3> |
||||||
|
<a href="./samples/chart_scatter.html"> |
||||||
|
Scatter chart with ordinary data |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Combination Chart</h3> |
||||||
|
<a href="./samples/chart_combination.html"> |
||||||
|
Combination chart with ordinary data |
||||||
|
</a> |
||||||
</div> |
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
<div class="section"> |
<div class="section"> |
||||||
<a href="#axes" name="axes"><h2># <span>Axes</span></h2></a> |
<h2># <span>Axes</span></h2> |
||||||
<div> |
<div> |
||||||
<div class="row"> |
<div class="row"> |
||||||
<div class="col-md-4"> |
<div class="col-md-4"> |
||||||
<h3>Categorized Axis</h3> |
<h3>Timeseries Axis</h3> |
||||||
<p>Axis with ticks categorizing each data.</p> |
<a href="./samples/timeseries.html"> |
||||||
<p><a class="btn btn-default" href="./samples/categorized.html" role="button">View details »</a></p> |
Line chart with timeseries data |
||||||
|
</a> |
||||||
|
<a href="./samples/timeseries_descendent.html"> |
||||||
|
Line chart with descendent timeseries data |
||||||
|
</a> |
||||||
|
<a href="./samples/timeseries_raw.html"> |
||||||
|
Line chart with timeseries data as Number |
||||||
|
</a> |
||||||
|
<a href="./samples/timeseries_date.html"> |
||||||
|
Line chart with timeseries data as Date object |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Category Axis</h3> |
||||||
|
<a href="./samples/categorized.html"> |
||||||
|
Chart with category axis |
||||||
|
</a> |
||||||
|
<a href="./samples/custom_x_categorized.html"> |
||||||
|
Chart with category data on category axis |
||||||
|
</a> |
||||||
</div> |
</div> |
||||||
<div class="col-md-4"> |
<div class="col-md-4"> |
||||||
<h3>Additional Axis</h3> |
<h3>Additional Axis</h3> |
||||||
<p>Additional y axis can be added.</p> |
<a href="./samples/axes_y2.html"> |
||||||
<p><a class="btn btn-default" href="./samples/axes_y2.html" role="button">View details »</a></p> |
Add y2 axis |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Axis Range</h3> |
||||||
|
<a href="./samples/axes_range.html"> |
||||||
|
Set range of axis |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Axis Padding</h3> |
||||||
|
<a href="./samples/axes_padding.html"> |
||||||
|
Set padding of axis |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>X Axis Tick</h3> |
||||||
|
<a href="./samples/axes_x_tick_values.html"> |
||||||
|
Set values for x axis |
||||||
|
</a> |
||||||
|
<a href="./samples/axes_x_tick_culling.html"> |
||||||
|
Set culling for x axis |
||||||
|
</a> |
||||||
|
<a href="./samples/axes_x_tick_fit.html"> |
||||||
|
Set fitting for x axis |
||||||
|
</a> |
||||||
|
<a href="./samples/axes_x_tick_rotate.html"> |
||||||
|
Set rotation for x axis |
||||||
|
</a> |
||||||
|
<a href="./samples/axes_x_range_timeseries.html"> |
||||||
|
Set range in timeseries for x axis |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Default Y Domain</h3> |
||||||
|
<a href="./samples/axes_y_default.html"> |
||||||
|
Set default y domain |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Y Domain</h3> |
||||||
|
<a href="./samples/domain_y.html"> |
||||||
|
Update y domain automatically |
||||||
|
</a> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
|
|
||||||
<div class="section"> |
<div class="section"> |
||||||
<a href="#data" name="data"><h2># <span>Data</span></h2></a> |
<h2># <span>Data</span></h2> |
||||||
<div> |
<div> |
||||||
<div class="row"> |
<div class="row"> |
||||||
<div class="col-md-4"> |
<div class="col-md-4"> |
||||||
<h3>Column Oriented Data</h3> |
<h3>Input Data</h3> |
||||||
<p>Column-oriented data can be used as input.</p> |
<a href="./samples/data_columned.html"> |
||||||
<p><a class="btn btn-default" href="./samples/data_columned.html" role="button">View details »</a></p> |
Columned data |
||||||
|
</a> |
||||||
|
<a href="./samples/data_rowed.html"> |
||||||
|
Rowed data |
||||||
|
</a> |
||||||
|
<a href="./samples/data_json.html"> |
||||||
|
JSON data |
||||||
|
</a> |
||||||
|
<a href="./samples/data_url.html"> |
||||||
|
Data from URL |
||||||
|
</a> |
||||||
|
<a href="./samples/data_hide.html"> |
||||||
|
Hide data when init |
||||||
|
</a> |
||||||
</div> |
</div> |
||||||
<div class="col-md-4"> |
<div class="col-md-4"> |
||||||
<h3>Row Oriented Data</h3> |
<h3>Load Data</h3> |
||||||
<p>Row-oriented data can be used as input.</p> |
<a href="./samples/data_load.html"> |
||||||
<p><a class="btn btn-default" href="./samples/data_rowed.html" role="button">View details »</a></p> |
Load ordinary data |
||||||
|
</a> |
||||||
|
<a href="./samples/data_load_timeseries.html"> |
||||||
|
Load timeseries data |
||||||
|
</a> |
||||||
</div> |
</div> |
||||||
<div class="col-md-4"> |
<div class="col-md-4"> |
||||||
<h3>Data from URL</h3> |
<h3>Custom X</h3> |
||||||
<p>Data from URL can be used as input.</p> |
<a href="./samples/custom_x_scale.html"> |
||||||
<p><a class="btn btn-default" href="./samples/data_url.html" role="button">View details »</a></p> |
Custom x for all data |
||||||
|
</a> |
||||||
|
<a href="./samples/custom_xs_scale.html"> |
||||||
|
Custom x for each data |
||||||
|
</a> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
<div class="row"> |
<div class="row"> |
||||||
<div class="col-md-4"> |
<div class="col-md-4"> |
||||||
<h3>Load Data</h3> |
<h3>Data Label</h3> |
||||||
<p>Load data dynamically.</p> |
<a href="./samples/data_label.html"> |
||||||
<p><a class="btn btn-default" href="./samples/data_load.html" role="button">View details »</a></p> |
Show label on data |
||||||
|
</a> |
||||||
|
<a href="./samples/data_label_format.html"> |
||||||
|
Show label on data with format |
||||||
|
</a> |
||||||
</div> |
</div> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Data Region</h3> |
||||||
|
<a href="./samples/data_region.html"> |
||||||
|
Set region of data |
||||||
|
</a> |
||||||
|
<a href="./samples/data_region_timeseries.html"> |
||||||
|
Set region of timeseries data |
||||||
|
</a> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
|
</div> |
||||||
|
|
||||||
<div class="section"> |
<div class="section"> |
||||||
<a href="#chart_type" name="chart_type"><h2># <span>Chart Type</span></h2></a> |
<h2># <span>Components</span></h2> |
||||||
<div> |
<div> |
||||||
<div class="row"> |
<div class="row"> |
||||||
<div class="col-md-4"> |
<div class="col-md-4"> |
||||||
<h3>Bar Chart</h3> |
<h3>Grid</h3> |
||||||
<p>Display as Bar Chart</p> |
<a href="./samples/grids.html"> |
||||||
<p><a class="btn btn-default" href="./samples/chart_bar.html" role="button">View details »</a></p> |
Show x/y grids |
||||||
|
</a> |
||||||
|
<a href="./samples/grids_timeseries.html"> |
||||||
|
Show x/y grids with timeseries |
||||||
|
</a> |
||||||
|
<a href="./samples/grid_x_lines.html"> |
||||||
|
Show optional x grids |
||||||
|
</a> |
||||||
|
<a href="./samples/grid_x_lines_timeseries.html"> |
||||||
|
Show optional x grids with timeseries |
||||||
|
</a> |
||||||
|
<a href="./samples/grid_focus.html"> |
||||||
|
Hide focus grid |
||||||
|
</a> |
||||||
</div> |
</div> |
||||||
<div class="col-md-4"> |
<div class="col-md-4"> |
||||||
<h3>Stacked Bar Chart</h3> |
<h3>Region</h3> |
||||||
<p>Display as Stacked Bar Chart</p> |
<a href="./samples/regions.html"> |
||||||
<p><a class="btn btn-default" href="./samples/chart_bar_stacked.html" role="button">View details »</a></p> |
Show regions |
||||||
|
</a> |
||||||
</div> |
</div> |
||||||
<div class="col-md-4"> |
<div class="col-md-4"> |
||||||
<h3>Spline Chart</h3> |
<h3>Legend</h3> |
||||||
<p>Display as Spline Chart</p> |
<a href="./samples/legend.html"> |
||||||
<p><a class="btn btn-default" href="./samples/chart_spline.html" role="button">View details »</a></p> |
Show legend |
||||||
|
</a> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
<div class="row"> |
<div class="row"> |
||||||
<div class="col-md-4"> |
<div class="col-md-4"> |
||||||
<h3>Area Chart</h3> |
<h3>Tooltip</h3> |
||||||
<p>Display as Filled Area Chart</p> |
<a href="./samples/tooltip_show.html"> |
||||||
<p><a class="btn btn-default" href="./samples/chart_area.html" role="button">View details »</a></p> |
Show tooltip |
||||||
|
</a> |
||||||
|
<a href="./samples/tooltip_grouped.html"> |
||||||
|
Show tooltip as each data |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
</div> |
</div> |
||||||
|
|
||||||
|
<div class="section"> |
||||||
|
<h2># <span>Chart Option</span></h2> |
||||||
|
<div> |
||||||
|
<div class="row"> |
||||||
<div class="col-md-4"> |
<div class="col-md-4"> |
||||||
<h3>Combination Chart</h3> |
<h3>Bind</h3> |
||||||
<p>Display as Bar Chart</p> |
<a href="./samples/bindto.html"> |
||||||
<p><a class="btn btn-default" href="./samples/chart_combination.html" role="button">View details »</a></p> |
Specify the element binded |
||||||
|
</a> |
||||||
</div> |
</div> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Padding</h3> |
||||||
|
<a href="./samples/padding.html"> |
||||||
|
Change padding of chart |
||||||
|
</a> |
||||||
|
<a href="./samples/padding_update.html"> |
||||||
|
Auto padding when chart updated |
||||||
|
</a> |
||||||
</div> |
</div> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Empty Data</h3> |
||||||
|
<a href="./samples/emptydata.html"> |
||||||
|
Show text when empty data |
||||||
|
</a> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Point</h3> |
||||||
|
<a href="./samples/point_r.html"> |
||||||
|
Change radius of data point |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Bar</h3> |
||||||
|
<a href="./samples/bar_zerobased.html"> |
||||||
|
Disable zero-based y domain |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Area</h3> |
||||||
|
<a href="./samples/area_zerobased.html"> |
||||||
|
Disable zero-based y domain |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
<div class="section"> |
<div class="section"> |
||||||
<a href="#interaction" name="interaction"><h2># <span>Interaction</span></h2></a> |
<h2># <span>Interaction</span></h2> |
||||||
<div> |
<div> |
||||||
<div class="row"> |
<div class="row"> |
||||||
<div class="col-md-4"> |
<div class="col-md-4"> |
||||||
<h3>Zoom</h3> |
<h3>Zoom</h3> |
||||||
<p>Zoom by mouse wheel event and slide by drag.</p> |
<a href="./samples/zoom.html"> |
||||||
<p><a class="btn btn-default" href="./samples/interaction_zoom.html" role="button">View details »</a></p> |
Enable zoom |
||||||
|
</a> |
||||||
|
<a href="./samples/zoom.html"> |
||||||
|
Zoom on category axis |
||||||
|
</a> |
||||||
|
<a href="./samples/zoom_reduction.html"> |
||||||
|
Zoom with reduction |
||||||
|
</a> |
||||||
|
<a href="./samples/zoom_onzoom.html"> |
||||||
|
Callback on zoom |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Subchart</h3> |
||||||
|
<a href="./samples/subchart.html"> |
||||||
|
Show subchart |
||||||
|
</a> |
||||||
|
<a href="./samples/subchart_onbrush.html"> |
||||||
|
Callback on brush |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Selection</h3> |
||||||
|
<a href="./samples/selection.html"> |
||||||
|
Select data |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Disable Interaction</h3> |
||||||
|
<a href="./samples/interaction_enabled.html"> |
||||||
|
Disable interaction |
||||||
|
</a> |
||||||
|
</div> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
|
|
||||||
|
<div class="section"> |
||||||
|
<h2># <span>API</span></h2> |
||||||
|
<div> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Flow</h3> |
||||||
|
<a href="./samples/api_flow.html"> |
||||||
|
Flow ordinary data |
||||||
|
</a> |
||||||
|
<a href="./samples/api_flow_timeseries.html"> |
||||||
|
Flow timeseries data |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Axis</h3> |
||||||
|
<a href="./samples/api_axis_range.html"> |
||||||
|
Update axis range |
||||||
|
</a> |
||||||
|
<a href="./samples/api_axis_label.html"> |
||||||
|
Update axis label |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Grid</h3> |
||||||
|
<a href="./samples/api_xgrid_lines.html"> |
||||||
|
Update x grid lines |
||||||
|
</a> |
||||||
|
<a href="./samples/api_ygrid_lines.html"> |
||||||
|
Update y grid lines |
||||||
|
</a> |
||||||
|
</div> |
||||||
</div> |
</div> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Legend</h3> |
||||||
|
<a href="./samples/api_legend.html"> |
||||||
|
Update legend |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Transform</h3> |
||||||
|
<a href="./samples/api_transform.html"> |
||||||
|
Transform chart |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Element</h3> |
||||||
|
<a href="./samples/element.html"> |
||||||
|
Access svg element of chart |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Data</h3> |
||||||
|
<a href="./samples/api_data_colors.html"> |
||||||
|
Update data color |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>Tooltip</h3> |
||||||
|
<a href="./samples/api_tooltip_show.html"> |
||||||
|
Show tooltip programmatically |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="section"> |
||||||
|
<h2># <span>Other Library</span></h2> |
||||||
|
<div> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-md-4"> |
||||||
|
<h3>RequireJS</h3> |
||||||
|
<a href="./samples/requirejs.html"> |
||||||
|
Load by RequireJS |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
</div> |
</div> |
||||||
</body> |
</body> |
||||||
</html> |
</html> |
||||||
|
@ -0,0 +1,13 @@ |
|||||||
|
c3.chart.internal.fn.isTimeSeries = function () { |
||||||
|
console.log('custom isTimeSeries'); |
||||||
|
return false; |
||||||
|
}; |
||||||
|
c3.chart.internal.fn.additionalConfig.test1 = undefined; |
||||||
|
c3.chart.internal.fn.additionalConfig.test2 = undefined; |
||||||
|
|
||||||
|
c3.chart.fn.hoge = function () { |
||||||
|
console.log("hoge()", this.internal.isTimeSeries()); |
||||||
|
}; |
||||||
|
c3.chart.fn.test = function () { |
||||||
|
console.log('test()', this.internal.config.test1); |
||||||
|
}; |
@ -0,0 +1,81 @@ |
|||||||
|
var chart; |
||||||
|
function refresh() { |
||||||
|
if (suspendRefresh) |
||||||
|
return; |
||||||
|
chart.load({ |
||||||
|
columns: [ |
||||||
|
["Value"].concat(zoom(column, currentZoom, "t=>Math.round(t.avg())".toLambda())), |
||||||
|
["xColumn"].concat(zoom(xColumn, currentZoom, "t=>t[0]".toLambda())), |
||||||
|
] |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
function getChart() { |
||||||
|
return chart; |
||||||
|
} |
||||||
|
function main() { |
||||||
|
var last = 0; |
||||||
|
var max = 10000; |
||||||
|
var column = Array.generate(max, function (i) { |
||||||
|
return last += Math.randomInt(-10, 10); |
||||||
|
}); |
||||||
|
var xColumn = Array.generateNumbers(0, max); |
||||||
|
var options = { |
||||||
|
bindto: "#divChart", |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
["Value"].concat(column), |
||||||
|
["x"].concat(xColumn), |
||||||
|
], |
||||||
|
type: "line", |
||||||
|
x: "x" |
||||||
|
}, |
||||||
|
zoom2: { |
||||||
|
enabled: true, |
||||||
|
} |
||||||
|
}; |
||||||
|
chart = c3ext.generate(options); |
||||||
|
|
||||||
|
window.setInterval(refreshStatus, 1000); |
||||||
|
|
||||||
|
function refreshStatus() { |
||||||
|
var zoomInfo = chart.zoom2.getZoom(); |
||||||
|
var info = { |
||||||
|
reduced: chart.zoom2.maxItems(), |
||||||
|
actual: (zoomInfo.currentZoom[1] - zoomInfo.currentZoom[0]), |
||||||
|
range: zoomInfo.currentZoom[0] + "-" + zoomInfo.currentZoom[1], |
||||||
|
total: zoomInfo.totalItems |
||||||
|
}; |
||||||
|
$("#status").text(JSON.stringify(info, null, " ")); |
||||||
|
} |
||||||
|
|
||||||
|
}; |
||||||
|
|
||||||
|
if (typeof (Array.generate) == "undefined") { |
||||||
|
Array.generate = function (length, generator) { |
||||||
|
var list = new Array(length); |
||||||
|
for (var i = 0; i < length; i++) { |
||||||
|
list[i] = generator(i); |
||||||
|
} |
||||||
|
return list; |
||||||
|
} |
||||||
|
} |
||||||
|
if (typeof (Math.randomInt) == "undefined") { |
||||||
|
Math.randomInt = function (min, max) { |
||||||
|
return Math.floor(Math.random() * (max - min + 1)) + min; |
||||||
|
} |
||||||
|
} |
||||||
|
if (typeof (Array.generateNumbers) == "undefined") { |
||||||
|
Array.generateNumbers = function (from, until) { |
||||||
|
if (arguments.length == 1) { |
||||||
|
until = from; |
||||||
|
from = 0; |
||||||
|
} |
||||||
|
var length = until - from; |
||||||
|
var list = new Array(length); |
||||||
|
for (var i = 0; i < length; i++) { |
||||||
|
list[i] = i + from; |
||||||
|
} |
||||||
|
return list; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,81 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link href="/css/c3.css" rel="stylesheet" type="text/css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
var chart = c3.generate({ |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 30, 200, 100, 400, 150, 250], |
||||||
|
['data2', 50, 20, 10, 40, 15, 25] |
||||||
|
], |
||||||
|
axes: { |
||||||
|
data1: 'y', |
||||||
|
data2: 'y2', |
||||||
|
} |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
x: { |
||||||
|
label: 'X Label' |
||||||
|
}, |
||||||
|
y: { |
||||||
|
label: { |
||||||
|
text: 'Y Axis Label', |
||||||
|
position: 'outer-middle' |
||||||
|
} |
||||||
|
}, |
||||||
|
y2: { |
||||||
|
show: true, |
||||||
|
label: { |
||||||
|
text: 'Y2 Axis Label', |
||||||
|
position: 'outer-middle' |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
tooltip: { |
||||||
|
// enabled: false |
||||||
|
}, |
||||||
|
zoom: { |
||||||
|
// enabled: true |
||||||
|
}, |
||||||
|
subchart: { |
||||||
|
// show: true |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.axis.max(500); |
||||||
|
}, 1000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.axis.min(-500); |
||||||
|
}, 2000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.axis.max({y: 600, y2: 100}); |
||||||
|
}, 3000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.axis.min({y: -600, y2: -100}); |
||||||
|
}, 4000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.axis.range({max: 1000, min: -1000}); |
||||||
|
}, 5000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.axis.range({min: {y: 1000}, max: {y: 2000}}); |
||||||
|
}, 6000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.axis.range({max: {y: 600, y2: 100}, min: {y: -100, y2: 0}}); |
||||||
|
}, 7000); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,48 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link href="/css/c3.css" rel="stylesheet" type="text/css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
<div id="message"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var chart = c3.generate({ |
||||||
|
data: { |
||||||
|
x: 'x', |
||||||
|
columns: [ |
||||||
|
['x', '1e-3', '1e-2', '1'], |
||||||
|
['data1', 30, 200, 100, 400, 150, 250, 50, 100, 250] |
||||||
|
] |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
x: { |
||||||
|
type: 'categorized' |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
d3.select('#message').node().innerHTML = "chart.categories() =>" + chart.categories(); |
||||||
|
}, 1000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.categories(['updated 1', 'updated 2', 'updated 3', 'updated 4']); |
||||||
|
d3.select('#message').node().innerHTML = ""; |
||||||
|
}, 2000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
d3.select('#message').node().innerHTML = "chart.category(1) =>" + chart.category(1); |
||||||
|
}, 3000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.category(1, 'UPDATED 1'); |
||||||
|
d3.select('#message').node().innerHTML = ""; |
||||||
|
}, 4000); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,223 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
<style> |
||||||
|
.c3-region-1 { |
||||||
|
fill: #dd3333; |
||||||
|
fill-opacity: 0.8 |
||||||
|
} |
||||||
|
</style> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var padding = {}, types = {}, chart, generate = function () { return c3.generate({ |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1'], |
||||||
|
['data2'], |
||||||
|
], |
||||||
|
types: types, |
||||||
|
labels: true |
||||||
|
}, |
||||||
|
bar: { |
||||||
|
width: 10 |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
x: { |
||||||
|
padding: padding |
||||||
|
}, |
||||||
|
y: { |
||||||
|
/* |
||||||
|
min: -100, |
||||||
|
max: 1000 |
||||||
|
*/ |
||||||
|
} |
||||||
|
}, |
||||||
|
grid: { |
||||||
|
x: { |
||||||
|
show: true, |
||||||
|
lines: [{value: 3, text:'Label 3'}, {value: 4.5, text: 'Label 4.5'}] |
||||||
|
}, |
||||||
|
y: { |
||||||
|
show: true |
||||||
|
} |
||||||
|
}, |
||||||
|
regions: [ |
||||||
|
{start:2, end:4, class:'region1'}, |
||||||
|
{start:100, end:200, axis:'y'}, |
||||||
|
], |
||||||
|
}); |
||||||
|
}; |
||||||
|
|
||||||
|
function run() { |
||||||
|
|
||||||
|
chart = generate(); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
// Load only one data |
||||||
|
chart.flow({ |
||||||
|
rows: [ |
||||||
|
['data1', 'data2', 'data3'], |
||||||
|
[500, 100, 200], |
||||||
|
[200, null, null], |
||||||
|
[100, 50, null] |
||||||
|
], |
||||||
|
duration: 1500, |
||||||
|
|
||||||
|
done: function () { |
||||||
|
// Load 2 data without data2 and remove 1 data |
||||||
|
chart.flow({ |
||||||
|
columns: [ |
||||||
|
['data1', 200, 300], |
||||||
|
['data3', 100, 100] |
||||||
|
], |
||||||
|
length: 0, |
||||||
|
duration: 1500, |
||||||
|
|
||||||
|
done: function () { |
||||||
|
chart.flow({ |
||||||
|
columns: [ |
||||||
|
['data1', 200, 300], |
||||||
|
['data2', 200, 300], |
||||||
|
['data3', 100, 100] |
||||||
|
], |
||||||
|
length: 2, |
||||||
|
duration: 1500, |
||||||
|
done: function () { |
||||||
|
|
||||||
|
chart.flow({ |
||||||
|
columns: [ |
||||||
|
['data1', 500], |
||||||
|
['data2', 100], |
||||||
|
['data3', 200] |
||||||
|
], |
||||||
|
length: 1, |
||||||
|
duration: 1500, |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
}); |
||||||
|
}// done |
||||||
|
|
||||||
|
}); |
||||||
|
}, |
||||||
|
|
||||||
|
}); |
||||||
|
}, 1000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.flow({ |
||||||
|
columns: [ |
||||||
|
['data1', 250], |
||||||
|
['data2', 350], |
||||||
|
['data3', 150] |
||||||
|
], |
||||||
|
length: 0 |
||||||
|
}); |
||||||
|
}, 9000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.flow({ |
||||||
|
columns: [ |
||||||
|
['data1', 100], |
||||||
|
['data2', 50], |
||||||
|
['data3', 300] |
||||||
|
], |
||||||
|
length: 2 |
||||||
|
}); |
||||||
|
}, 10000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.flow({ |
||||||
|
columns: [ |
||||||
|
['data1', 600], |
||||||
|
['data2', 400], |
||||||
|
['data3', 500] |
||||||
|
], |
||||||
|
to: 2, |
||||||
|
}); |
||||||
|
}, 11000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.flow({ |
||||||
|
columns: [ |
||||||
|
['data1', 100], |
||||||
|
['data2', 200], |
||||||
|
['data3', 300] |
||||||
|
] |
||||||
|
}); |
||||||
|
}, 12000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart = generate(); |
||||||
|
}, 13000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.flow({ |
||||||
|
columns: [ |
||||||
|
['data1', 500, 100], |
||||||
|
['data2', 100, 200], |
||||||
|
['data3', 200, 300], |
||||||
|
], |
||||||
|
duration: 1500, |
||||||
|
done: function () { |
||||||
|
chart.flow({ |
||||||
|
columns: [ |
||||||
|
['data1', 200], |
||||||
|
['data3', 100] |
||||||
|
], |
||||||
|
// duration: 1000, |
||||||
|
length: 1 |
||||||
|
}); |
||||||
|
}, |
||||||
|
}); |
||||||
|
}, 14000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.flow({ |
||||||
|
columns: [ |
||||||
|
['data1', 200], |
||||||
|
['data2', 300], |
||||||
|
['data3', 100] |
||||||
|
], |
||||||
|
to: 1, |
||||||
|
}); |
||||||
|
}, 18000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.flow({ |
||||||
|
columns: [ |
||||||
|
['data1', 200], |
||||||
|
['data2', 300], |
||||||
|
['data3', 400] |
||||||
|
] |
||||||
|
}); |
||||||
|
}, 19000); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
run(); |
||||||
|
|
||||||
|
// Test for no padding |
||||||
|
setTimeout(function () { |
||||||
|
padding = {left: 0, right: 0}; |
||||||
|
run(); |
||||||
|
}, 22000); |
||||||
|
|
||||||
|
// Test for other chart types |
||||||
|
setTimeout(function () { |
||||||
|
types = { |
||||||
|
data2: 'area', |
||||||
|
data3: 'bar', |
||||||
|
}; |
||||||
|
run(); |
||||||
|
}, 45000); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,173 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var padding = {}, types = {}; |
||||||
|
|
||||||
|
var generate = function () { return c3.generate({ |
||||||
|
data: { |
||||||
|
x: 'x', |
||||||
|
columns: [ |
||||||
|
['x', ], |
||||||
|
['data1', ], |
||||||
|
['data2', ], |
||||||
|
// ['x', '2013-01-01', '2013-01-02', '2013-01-03', '2013-01-10', '2013-01-11', '2013-01-12'], |
||||||
|
// ['data1', 30, 200, 100, 400, 150, 250], |
||||||
|
// ['data2', 310, 400, 200, 100, 450, 150], |
||||||
|
// ['data3', 310, 400, 200, 100, null, 150], |
||||||
|
], |
||||||
|
types: types, |
||||||
|
// labels: true |
||||||
|
}, |
||||||
|
bar: { |
||||||
|
width: 10 |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
x: { |
||||||
|
type: 'timeseries', |
||||||
|
tick: { |
||||||
|
format: '%m/%d', |
||||||
|
}, |
||||||
|
padding: padding |
||||||
|
}, |
||||||
|
y: { |
||||||
|
/* |
||||||
|
min: -100, |
||||||
|
max: 1000 |
||||||
|
*/ |
||||||
|
} |
||||||
|
}, |
||||||
|
/* not supported yet |
||||||
|
grid: { |
||||||
|
x: { |
||||||
|
show: true |
||||||
|
}, |
||||||
|
y: { |
||||||
|
show: true |
||||||
|
} |
||||||
|
} |
||||||
|
*/ |
||||||
|
}); }, chart; |
||||||
|
|
||||||
|
function run() { |
||||||
|
|
||||||
|
chart = generate(); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.flow({ |
||||||
|
columns: [ |
||||||
|
['x', '2013-01-21'], |
||||||
|
['data1', 500], |
||||||
|
['data3', 200], |
||||||
|
], |
||||||
|
duration: 1500 |
||||||
|
}); |
||||||
|
}, 1000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.flow({ |
||||||
|
columns: [ |
||||||
|
['x', '2013-02-01', '2013-02-08', '2013-02-15'], |
||||||
|
['data1', 200, 400, 300], |
||||||
|
['data2', 100, 300, 200], |
||||||
|
['data3', 100, 200, 50] |
||||||
|
], |
||||||
|
length: 1, |
||||||
|
duration: 1500 |
||||||
|
}); |
||||||
|
}, 4000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
console.log("Flow 1"); |
||||||
|
chart.flow({ |
||||||
|
columns: [ |
||||||
|
['x', '2013-03-01', '2013-03-08'], |
||||||
|
['data1', 200, 500], |
||||||
|
['data2', 300, 400], |
||||||
|
['data3', 400, 200] |
||||||
|
], |
||||||
|
to: '2013-02-08', |
||||||
|
duration: 1500 |
||||||
|
}); |
||||||
|
}, 7000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.flow({ |
||||||
|
columns: [ |
||||||
|
['x', '2013-03-15', '2013-05-01'], |
||||||
|
['data1', 200, 500], |
||||||
|
['data2', 300, 400], |
||||||
|
['data3', 400, 200] |
||||||
|
], |
||||||
|
length: 0, |
||||||
|
duration: 1500 |
||||||
|
}); |
||||||
|
}, 10000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart = generate(); |
||||||
|
}, 14000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.flow({ |
||||||
|
columns: [ |
||||||
|
['x', '2013-01-21', '2013-01-25', '2013-01-26'], |
||||||
|
['data1', 500, 300, 100], |
||||||
|
['data3', 200, 150, null], |
||||||
|
], |
||||||
|
duration: 1500 |
||||||
|
}); |
||||||
|
}, 15000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.flow({ |
||||||
|
columns: [ |
||||||
|
['x', '2013-02-01'], |
||||||
|
['data1', 200], |
||||||
|
['data2', 100], |
||||||
|
['data3', 100] |
||||||
|
], |
||||||
|
length: 0, |
||||||
|
duration: 1500 |
||||||
|
}); |
||||||
|
}, 18000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.flow({ |
||||||
|
columns: [ |
||||||
|
['x', '2013-03-01'], |
||||||
|
['data1', 200], |
||||||
|
['data2', 300], |
||||||
|
['data3', 400] |
||||||
|
], |
||||||
|
to: '2013-02-01', |
||||||
|
duration: 1500 |
||||||
|
}); |
||||||
|
}, 21000); |
||||||
|
}; |
||||||
|
|
||||||
|
run(); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
padding = {left: 0, right: 0}; |
||||||
|
run(); |
||||||
|
}, 25000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
types = { |
||||||
|
data2: 'area', |
||||||
|
data3: 'bar', |
||||||
|
} |
||||||
|
run(); |
||||||
|
}, 50000); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,136 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var columns = []; |
||||||
|
for (var i = 0; i < 5; i++ ) { |
||||||
|
columns[i] = ['datahogehogeohgeohoge' + i, 10 * i, 20 * i, 30 * i]; |
||||||
|
} |
||||||
|
|
||||||
|
var chart = c3.generate({ |
||||||
|
data: { |
||||||
|
columns: columns, |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
x: { |
||||||
|
type: 'category' |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.legend.hide(); |
||||||
|
}, 1000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart = c3.generate({ |
||||||
|
data: { |
||||||
|
columns: columns, |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
x: { |
||||||
|
type: 'category' |
||||||
|
} |
||||||
|
}, |
||||||
|
legend: { |
||||||
|
position: 'right' |
||||||
|
} |
||||||
|
}); |
||||||
|
}, 2000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.legend.hide(); |
||||||
|
}, 3000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart = c3.generate({ |
||||||
|
data: { |
||||||
|
columns: columns, |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
rotated: true |
||||||
|
} |
||||||
|
}); |
||||||
|
}, 4000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.legend.hide(); |
||||||
|
}, 5000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart = c3.generate({ |
||||||
|
data: { |
||||||
|
columns: columns, |
||||||
|
}, |
||||||
|
legend: { |
||||||
|
position: 'right' |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
rotated: true |
||||||
|
} |
||||||
|
}); |
||||||
|
}, 6000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.legend.hide(); |
||||||
|
}, 7000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart = c3.generate({ |
||||||
|
data: { |
||||||
|
columns: columns, |
||||||
|
}, |
||||||
|
legend: { |
||||||
|
show: false |
||||||
|
} |
||||||
|
}); |
||||||
|
}, 8000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.legend.show(); |
||||||
|
}, 9000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart = c3.generate({ |
||||||
|
data: { |
||||||
|
columns: columns, |
||||||
|
}, |
||||||
|
legend: { |
||||||
|
show: false |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
rotated: true |
||||||
|
} |
||||||
|
}); |
||||||
|
}, 10000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.legend.show(); |
||||||
|
}, 11000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart = c3.generate({ |
||||||
|
data: { |
||||||
|
columns: columns, |
||||||
|
}, |
||||||
|
legend: { |
||||||
|
position: 'right', |
||||||
|
show: false |
||||||
|
} |
||||||
|
}); |
||||||
|
}, 12000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.legend.show(); |
||||||
|
}, 13000); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,38 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
var chart = c3.generate({ |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 30, 200, 100, 400, 150, 250], |
||||||
|
['data2', 50, 20, 10, 40, 15, 25] |
||||||
|
], |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.tooltip.show({ x: 1 }); |
||||||
|
}, 1000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.tooltip.show({ index: 3 }); |
||||||
|
}, 2000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.tooltip.show({ data: {x: 2} }); |
||||||
|
}, 3000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.tooltip.hide(); |
||||||
|
}, 4000); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,70 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var chart = c3.generate({ |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 30, 200, 100, 400, 150, 250], |
||||||
|
['data2', 50, 20, 10, 40, 15, 25] |
||||||
|
], |
||||||
|
}, |
||||||
|
}); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.transform('bar'); |
||||||
|
}, 1000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.transform('pie'); |
||||||
|
}, 2000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.transform('donut'); |
||||||
|
}, 3000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.transform('area'); |
||||||
|
}, 4000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.transform('spline'); |
||||||
|
}, 5000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart = c3.generate({ |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 30, 200, 100, 400, 150, 250], |
||||||
|
['data2', 50, 20, 10, 40, 15, 25], |
||||||
|
['data1_x', 50, 20, 10, 40, 15, 25], |
||||||
|
['data2_x', 30, 200, 100, 400, 150, 250], |
||||||
|
], |
||||||
|
xs: { |
||||||
|
data1: 'data1_x', |
||||||
|
data2: 'data2_x', |
||||||
|
}, |
||||||
|
type: 'scatter' |
||||||
|
}, |
||||||
|
}); |
||||||
|
}, 7000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.transform('pie'); |
||||||
|
}, 8000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.transform('scatter'); |
||||||
|
}, 9000); |
||||||
|
|
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,125 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var axis_rotated = false, axis_x_type = ""; |
||||||
|
|
||||||
|
var generate = function () { return c3.generate({ |
||||||
|
bindto: '#chart', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['sample', 30, 200, 100, 400, 150, 250] |
||||||
|
] |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
rotated: axis_rotated, |
||||||
|
x: { |
||||||
|
type: axis_x_type |
||||||
|
} |
||||||
|
}, |
||||||
|
grid: { |
||||||
|
x: { |
||||||
|
// lines: [{value: 3, text:'Label 3'}, {value: 4.5, text: 'Label 4.5'}] |
||||||
|
} |
||||||
|
} |
||||||
|
}); }, chart = generate(); |
||||||
|
|
||||||
|
var queue = [ |
||||||
|
function () { |
||||||
|
chart.xgrids([{value: 1, text:'Label 1'}, {value: 4, text: 'Label 4'}]); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
chart.xgrids([{value: 2, text:'Label 2'}]); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
chart.xgrids.add([{value: 3, text:'Label 3', class:'hoge'}]); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
chart.xgrids.remove({value:2}); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
chart.xgrids.remove({class:'hoge'}); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
chart.xgrids.remove([{value: 1}, {value: 4}]); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
chart.xgrids([{value: 1, text:'Label 1'}, {value: 4, text: 'Label 4'}]); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
chart.xgrids.remove(); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
axis_rotated = true; |
||||||
|
chart = generate(); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
chart.xgrids([{value: 1, text:'Label 1'}, {value: 4, text: 'Label 4'}]); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
chart.xgrids([{value: 2, text:'Label 2'}]); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
chart.xgrids.add([{value: 3, text:'Label 3', class:'hoge'}]); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
chart.xgrids.remove({value:2}); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
chart.xgrids.remove({class:'hoge'}); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
chart.xgrids.remove([{value: 1}, {value: 4}]); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
chart.xgrids([{value: 1, text:'Label 1'}, {value: 4, text: 'Label 4'}]); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
chart.xgrids.remove(); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
axis_rotated = false; |
||||||
|
axis_x_type = 'category'; |
||||||
|
chart = generate(); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
chart.xgrids([{value: 1, text:'Label 1'}, {value: 4, text: 'Label 4'}]); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
chart.xgrids([{value: 2, text:'Label 2'}]); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
chart.xgrids.add([{value: 3, text:'Label 3', class:'hoge'}]); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
chart.xgrids.remove({value:2}); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
chart.xgrids.remove({class:'hoge'}); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
chart.xgrids.remove([{value: 1}, {value: 4}]); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
chart.xgrids([{value: 1, text:'Label 1'}, {value: 4, text: 'Label 4'}]); |
||||||
|
}, |
||||||
|
function () { |
||||||
|
chart.xgrids.remove(); |
||||||
|
}, |
||||||
|
]; |
||||||
|
|
||||||
|
var i = 0; |
||||||
|
queue.forEach(function (f) { |
||||||
|
setTimeout(f, 1000 * i++); |
||||||
|
}); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,25 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link href="/css/c3.css" rel="stylesheet" type="text/css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
var chart = c3.generate({ |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 1030, 1200, 1100, 1400, 1150, 1250], |
||||||
|
['data2', 2130, 2100, 2140, 2200, 2150, 1850] |
||||||
|
], |
||||||
|
type: 'area', |
||||||
|
}, |
||||||
|
area: { |
||||||
|
zerobased: false |
||||||
|
} |
||||||
|
}); |
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,62 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart1"></div> |
||||||
|
<div id="chart2"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var chart1 = c3.generate({ |
||||||
|
bindto: '#chart1', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 30, 200, 100, 400, 150, 250], |
||||||
|
['data2', 300, 2000, 1000, 4000, 1500, 2500], |
||||||
|
], |
||||||
|
axes: { |
||||||
|
data2: 'y2' |
||||||
|
} |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
y: { |
||||||
|
padding: { |
||||||
|
top: 0.1, |
||||||
|
bottom: 0.1, |
||||||
|
unit: 'ratio' |
||||||
|
} |
||||||
|
}, |
||||||
|
y2: { |
||||||
|
show: true, |
||||||
|
padding: { |
||||||
|
top: 200, |
||||||
|
bottom: 200, |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart2 = c3.generate({ |
||||||
|
bindto: '#chart2', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 3000, 20000, 10000, 40000, 15000, 25000], |
||||||
|
], |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
y: { |
||||||
|
padding: { |
||||||
|
top: 0.1, |
||||||
|
bottom: 0.1, |
||||||
|
unit: 'ratio' |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,87 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart1"></div> |
||||||
|
<div id="chart2"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var chart1 = c3.generate({ |
||||||
|
bindto: '#chart1', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['sample', 100, 200, 100, 400, 150, 250] |
||||||
|
], |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
x: { |
||||||
|
min: -10, |
||||||
|
max: 10, |
||||||
|
} |
||||||
|
}, |
||||||
|
}); |
||||||
|
|
||||||
|
var chart2 = c3.generate({ |
||||||
|
bindto: '#chart2', |
||||||
|
data: { |
||||||
|
x: 'x', |
||||||
|
columns: [ |
||||||
|
['x', '2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04', '2013-01-05', '2013-01-06'], |
||||||
|
['sample', 100, 200, 100, 400, 150, 250] |
||||||
|
], |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
x: { |
||||||
|
type: 'timeseries', |
||||||
|
min: new Date('2012-12-20'), |
||||||
|
max: '2013-03-01', |
||||||
|
tick : { |
||||||
|
format : "%Y-%m-%d %H:%M:%S" // https://github.com/mbostock/d3/wiki/Time-Formatting#wiki-format |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart1.axis.max({x: 20}); |
||||||
|
}, 1000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart1.axis.min({x: -5}); |
||||||
|
}, 2000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart1.axis.range({max: {x: 5}, min: {x: 0}}); |
||||||
|
}, 3000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart2.axis.max({x: new Date('2013-02-01')}); |
||||||
|
}, 1000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart2.axis.min({x: new Date('2012-12-01')}); |
||||||
|
}, 2000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart2.axis.range({max: {x: '2013-01-06'}, min: {x: '2013-01-01'}}); |
||||||
|
}, 3000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart2.axis.max({y: 1000}); |
||||||
|
}, 4000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart2.axis.min({y: -1000}); |
||||||
|
}, 5000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart2.axis.range({max: {y: 400}, min: {y: 0}}); |
||||||
|
}, 6000); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,137 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var data, axis_x_localtime; |
||||||
|
|
||||||
|
var data1 = { |
||||||
|
x : 'date', |
||||||
|
columns: [ |
||||||
|
['date', '2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04', '2013-01-05'], |
||||||
|
['sample', 30, 200, 100, 400, 150], |
||||||
|
['sample2', 130, 300, 200, 450, 250] |
||||||
|
] |
||||||
|
}; |
||||||
|
|
||||||
|
var data2 = { |
||||||
|
x : 'date', |
||||||
|
columns: [ |
||||||
|
['date', 1356966000000, 1357052400000, 1357138800000, 1357225200000, 1357311600000], |
||||||
|
['sample', 30, 200, 100, 400, 150], |
||||||
|
['sample2', 130, 300, 200, 450, 250] |
||||||
|
] |
||||||
|
}; |
||||||
|
|
||||||
|
var data3 = { |
||||||
|
x : 'date', |
||||||
|
columns: [ |
||||||
|
['date', new Date(1356966000000), new Date(1357052400000), new Date(1357138800000), new Date(1357225200000), new Date(1357311600000)], |
||||||
|
['sample', 30, 200, 100, 400, 150], |
||||||
|
['sample2', 130, 300, 200, 450, 250] |
||||||
|
] |
||||||
|
}; |
||||||
|
|
||||||
|
var data4 = { |
||||||
|
x : 'date', |
||||||
|
x_format : '%Y%m%d', |
||||||
|
columns: [ |
||||||
|
['date', '20130101', '20130102', '20130103', '20130104', '20130105'], |
||||||
|
['sample', 1030, 1200, 1100, 1400, 1150], |
||||||
|
['sample2', 130, 300, 200, 450, 250] |
||||||
|
] |
||||||
|
}; |
||||||
|
|
||||||
|
var data5 = { |
||||||
|
x : 'date', |
||||||
|
x_format : '%Y%m%d %H:%M:%S', |
||||||
|
columns: [ |
||||||
|
['date', '20130101 00:00:00', '20130102 00:00:00', '20130103 00:00:00', '20130104 00:00:00', '20130105 00:00:00'], |
||||||
|
['sample', 30, 200, 100, 400, 150], |
||||||
|
['sample2', 1130, 1300, 1200, 1450, 1250] |
||||||
|
] |
||||||
|
}; |
||||||
|
|
||||||
|
var generate = function () { return c3.generate({ |
||||||
|
bindto: '#chart', |
||||||
|
data: data, |
||||||
|
axis : { |
||||||
|
x : { |
||||||
|
type : 'timeseries', |
||||||
|
tick : { |
||||||
|
format : "%Y-%m-%d %H:%M:%S" // https://github.com/mbostock/d3/wiki/Time-Formatting#wiki-format |
||||||
|
}, |
||||||
|
localtime: axis_x_localtime |
||||||
|
} |
||||||
|
} |
||||||
|
}); }; |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
data = data1; |
||||||
|
axis_x_localtime = true; |
||||||
|
chart = generate(); |
||||||
|
}, 1000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
data = data1; |
||||||
|
axis_x_localtime = false; |
||||||
|
chart = generate(); |
||||||
|
}, 2000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
data = data2; |
||||||
|
axis_x_localtime = true; |
||||||
|
chart = generate(); |
||||||
|
}, 3000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
data = data2; |
||||||
|
axis_x_localtime = false; |
||||||
|
chart = generate(); |
||||||
|
}, 4000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
data = data3; |
||||||
|
axis_x_localtime = true; |
||||||
|
chart = generate(); |
||||||
|
}, 5000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
data = data3; |
||||||
|
axis_x_localtime = false; |
||||||
|
chart = generate(); |
||||||
|
}, 6000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
data = data4; |
||||||
|
axis_x_localtime = true; |
||||||
|
chart = generate(); |
||||||
|
}, 7000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
data = data4; |
||||||
|
axis_x_localtime = false; |
||||||
|
chart = generate(); |
||||||
|
}, 8000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
data = data5; |
||||||
|
axis_x_localtime = true; |
||||||
|
chart = generate(); |
||||||
|
}, 9000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
data = data5; |
||||||
|
axis_x_localtime = false; |
||||||
|
chart = generate(); |
||||||
|
}, 10000); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,57 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart1"></div> |
||||||
|
<div id="chart2"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var chart1 = c3.generate({ |
||||||
|
"bindto": "#chart1", |
||||||
|
"axis": { |
||||||
|
"x": { |
||||||
|
"type": "timeseries", |
||||||
|
"min": 1401879600000, |
||||||
|
"max": 1401969600000, |
||||||
|
} |
||||||
|
}, |
||||||
|
"data": { |
||||||
|
"type": "line", |
||||||
|
"columns": [ |
||||||
|
["epoch", 1401879600000, 1401883200000, 1401886800000], |
||||||
|
["y", 1955, 2419, 2262] |
||||||
|
], |
||||||
|
"xs": { |
||||||
|
"y": "epoch" |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart2 = c3.generate({ |
||||||
|
"bindto": "#chart2", |
||||||
|
"axis": { |
||||||
|
"x": { |
||||||
|
"type": "timeseries", |
||||||
|
"min": new Date(1401879600000), |
||||||
|
"max": new Date(1401969600000), |
||||||
|
} |
||||||
|
}, |
||||||
|
"data": { |
||||||
|
"type": "line", |
||||||
|
"columns": [ |
||||||
|
["epoch", 1401879600000, 1401883200000, 1401886800000], |
||||||
|
["y", 1955, 2419, 2262] |
||||||
|
], |
||||||
|
"xs": { |
||||||
|
"y": "epoch" |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,55 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link href="/css/c3.css" rel="stylesheet" type="text/css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
var chart = c3.generate({ |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 30, 200, 100, 400, 150, 250, 100, 600], |
||||||
|
['data2', 50, 20, 10, 40, 15, 25], |
||||||
|
] |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
// rotated: true, |
||||||
|
x: { |
||||||
|
tick: { |
||||||
|
format: function () { return "hogehogehogehogehoge"; }, |
||||||
|
rotate: 30, |
||||||
|
}, |
||||||
|
label: { |
||||||
|
text: 'Hogehoge', |
||||||
|
position: 'outer-middle' |
||||||
|
}, |
||||||
|
height: 90, |
||||||
|
}, |
||||||
|
y: { |
||||||
|
label: { |
||||||
|
text: 'Y Label', |
||||||
|
position: 'outer-center' |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
subchart: { |
||||||
|
show: true |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [ |
||||||
|
// ['data1', 30, 200, 100, 400, 150, 250, 100, 400], |
||||||
|
['data1', 1030, 2000, 1000, 1400, 1500, 1250, 1100, 140000], |
||||||
|
] |
||||||
|
}) |
||||||
|
}, 1000); |
||||||
|
|
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,55 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart1"></div> |
||||||
|
<div id="chart2"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var chart1 = c3.generate({ |
||||||
|
bindto: '#chart1', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 30, 200, 100, 400, 150, 250], |
||||||
|
['data2', 50, 20, 10, 40, 15, 25] |
||||||
|
], |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
x : { |
||||||
|
tick: { |
||||||
|
values: [2, 4] |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart2 = c3.generate({ |
||||||
|
bindto: '#chart2', |
||||||
|
data: { |
||||||
|
x : 'date', |
||||||
|
xFormat : '%Y%m%d', |
||||||
|
columns: [ |
||||||
|
['date', '20130101', '20130102', '20130103', '20130104', '20130105', '20130106'], |
||||||
|
['sample', 30, 200, 100, 400, 150, 250], |
||||||
|
['sample2', 130, 300, 200, 450, 250, 350] |
||||||
|
] |
||||||
|
}, |
||||||
|
axis : { |
||||||
|
x : { |
||||||
|
type : 'timeseries', |
||||||
|
tick : { |
||||||
|
format : "%e %b %y", // https://github.com/mbostock/d3/wiki/Time-Formatting#wiki-format |
||||||
|
values: ['20130103', '20130104'] |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,26 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
var chart = c3.generate({ |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1'], |
||||||
|
['data2'], |
||||||
|
], |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
y: { |
||||||
|
default: [-100, 100] |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,25 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link href="/css/c3.css" rel="stylesheet" type="text/css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
var chart = c3.generate({ |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 1030, 1200, 1100, 1400, 1150, 1250], |
||||||
|
['data2', 2130, 2100, 2140, 2200, 2150, 1850] |
||||||
|
], |
||||||
|
type: 'bar', |
||||||
|
}, |
||||||
|
bar: { |
||||||
|
zerobased: false |
||||||
|
} |
||||||
|
}); |
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,41 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link href="/css/c3.css" rel="stylesheet" type="text/css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart1" style="height:300px;"></div> |
||||||
|
<div class="chart2" style="height:150px;"></div> |
||||||
|
<div class="chart3" style="height:150px;"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
var chart1 = c3.generate({ |
||||||
|
bindto: '#chart1', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 130, 210, 120, 440, 250, 350] |
||||||
|
] |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart2 = c3.generate({ |
||||||
|
bindto: '.chart2', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 30, 200, 100, 400, 150, 250] |
||||||
|
] |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart3 = c3.generate({ |
||||||
|
bindto: document.getElementsByClassName('chart3')[0], |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 30, 200, 100, 400, 150, 250] |
||||||
|
] |
||||||
|
} |
||||||
|
}); |
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,49 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link href="/css/c3.css" rel="stylesheet" type="text/css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart1"></div> |
||||||
|
<div id="chart2"></div> |
||||||
|
<div id="chart3"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var chart1 = c3.generate({ |
||||||
|
bindto: '#chart1', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 300, 350, 300, 0, 0, 0], |
||||||
|
['data2', 130, 100, 140, 200, 150, 50] |
||||||
|
], |
||||||
|
type: 'area-spline' |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart2 = c3.generate({ |
||||||
|
bindto: '#chart2', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', -300, -350, -300, 0, 0, 0], |
||||||
|
['data2', -130, -100, -140, -200, -150, -50] |
||||||
|
], |
||||||
|
type: 'area-spline' |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart3 = c3.generate({ |
||||||
|
bindto: '#chart3', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', -300, 350, -300, 0, 0, 0], |
||||||
|
['data2', -130, -100, 140, -200, 150, -50] |
||||||
|
], |
||||||
|
type: 'area-spline' |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,52 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link href="/css/c3.css" rel="stylesheet" type="text/css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart1"></div> |
||||||
|
<div id="chart2"></div> |
||||||
|
<div id="chart3"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var chart1 = c3.generate({ |
||||||
|
bindto: '#chart1', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 300, 350, 300, 0, 0, 100], |
||||||
|
['data2', 130, 0, 140, 200, 0, 50], |
||||||
|
], |
||||||
|
type: 'area-spline', |
||||||
|
groups: [['data1', 'data2']], |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart2 = c3.generate({ |
||||||
|
bindto: '#chart2', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', -300, -350, -300, 0, 0, -100], |
||||||
|
['data2', -130, 0, -140, -200, 0, -50] |
||||||
|
], |
||||||
|
type: 'area-spline', |
||||||
|
groups: [['data1', 'data2']], |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart3 = c3.generate({ |
||||||
|
bindto: '#chart3', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', -300, 350, -300, 0, 0, 100], |
||||||
|
['data2', -130, 0, 140, -200, 150, -50] |
||||||
|
], |
||||||
|
type: 'area-spline', |
||||||
|
groups: [['data1', 'data2']], |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,52 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link href="/css/c3.css" rel="stylesheet" type="text/css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart1"></div> |
||||||
|
<div id="chart2"></div> |
||||||
|
<div id="chart3"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var chart1 = c3.generate({ |
||||||
|
bindto: '#chart1', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 300, 350, 300, 0, 0, 100], |
||||||
|
['data2', 130, 0, 140, 200, 0, 50], |
||||||
|
], |
||||||
|
type: 'area', |
||||||
|
groups: [['data1', 'data2']], |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart2 = c3.generate({ |
||||||
|
bindto: '#chart2', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', -300, -350, -300, 0, 0, -100], |
||||||
|
['data2', -130, 0, -140, -200, 0, -50] |
||||||
|
], |
||||||
|
type: 'area', |
||||||
|
groups: [['data1', 'data2']], |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart3 = c3.generate({ |
||||||
|
bindto: '#chart3', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', -300, 350, -300, 0, 0, 100], |
||||||
|
['data2', -130, 0, 140, -200, 150, -50] |
||||||
|
], |
||||||
|
type: 'area', |
||||||
|
groups: [['data1', 'data2']], |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,49 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link href="/css/c3.css" rel="stylesheet" type="text/css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart1"></div> |
||||||
|
<div id="chart2"></div> |
||||||
|
<div id="chart3"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var chart1 = c3.generate({ |
||||||
|
bindto: '#chart1', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 300, 350, 300, 0, 0, 0], |
||||||
|
['data2', 130, 100, 140, 200, 150, 50] |
||||||
|
], |
||||||
|
type: 'area-step' |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart2 = c3.generate({ |
||||||
|
bindto: '#chart2', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', -300, -350, -300, 0, 0, 0], |
||||||
|
['data2', -130, -100, -140, -200, -150, -50] |
||||||
|
], |
||||||
|
type: 'area-step' |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart3 = c3.generate({ |
||||||
|
bindto: '#chart3', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', -300, 350, -300, 0, 0, 0], |
||||||
|
['data2', -130, -100, 140, -200, 150, -50] |
||||||
|
], |
||||||
|
type: 'area-step' |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,52 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link href="/css/c3.css" rel="stylesheet" type="text/css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart1"></div> |
||||||
|
<div id="chart2"></div> |
||||||
|
<div id="chart3"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var chart1 = c3.generate({ |
||||||
|
bindto: '#chart1', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 300, 350, 300, 0, 0, 0], |
||||||
|
['data2', 130, 100, 140, 200, 150, 50] |
||||||
|
], |
||||||
|
type: 'area-step', |
||||||
|
groups: [['data1', 'data2']], |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart2 = c3.generate({ |
||||||
|
bindto: '#chart2', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', -300, -350, -300, 0, 0, 0], |
||||||
|
['data2', -130, -100, -140, -200, -150, -50] |
||||||
|
], |
||||||
|
type: 'area-step', |
||||||
|
groups: [['data1', 'data2']], |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart3 = c3.generate({ |
||||||
|
bindto: '#chart3', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', -300, 350, -300, 0, 0, 0], |
||||||
|
['data2', -130, -100, 140, -200, 150, -50] |
||||||
|
], |
||||||
|
type: 'area-step', |
||||||
|
groups: [['data1', 'data2']], |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,136 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link href="/css/c3.css" rel="stylesheet" type="text/css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
var chart = c3.generate({ |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
[ 'data', 91.4 ] |
||||||
|
], |
||||||
|
type: 'gauge', |
||||||
|
onmouseover: function (d, i) { console.log("onmouseover", d, i, this); }, |
||||||
|
onmouseout: function (d, i) { console.log("onmouseout", d, i, this); }, |
||||||
|
onclick: function (d, i) { console.log("onclick", d, i, this); }, |
||||||
|
}, |
||||||
|
gauge: { |
||||||
|
label: { |
||||||
|
// format: function(value, ratio) { |
||||||
|
// return value; |
||||||
|
// }, |
||||||
|
// show: false // to turn off the min/max labels. |
||||||
|
}, |
||||||
|
// min: 0, // 0 is default, //can handle negative min e.g. vacuum / voltage / current flow / rate of change |
||||||
|
// max: 100, // 100 is default |
||||||
|
// units: ' %', |
||||||
|
// width: 39 // for adjusting arc thickness |
||||||
|
}, |
||||||
|
color: { |
||||||
|
pattern: ['#FF0000', '#F6C600', '#60B044'], // the three color levels for the percentage values. |
||||||
|
threshold: { |
||||||
|
// unit: 'value', // percentage is default |
||||||
|
// max: 200, // 100 is default |
||||||
|
values: [30, 60, 90] // alternate first value is 'value' |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var cycleDemo = function () { |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
d3.select('#chart .c3-chart-arcs-background') |
||||||
|
.transition() |
||||||
|
.style('fill', '#333'); |
||||||
|
}, 1000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [[ 'data', 10 ]] |
||||||
|
}); |
||||||
|
}, 2000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [[ 'data', 50 ]] |
||||||
|
}); |
||||||
|
}, 3000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [[ 'data', 91.4 ]] |
||||||
|
}); |
||||||
|
}, 4000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
d3.select('#chart .c3-chart-arcs-background') |
||||||
|
.transition() |
||||||
|
.style('fill', '#e0e0e0'); |
||||||
|
}, 5000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [[ 'data', 0 ]] |
||||||
|
}); |
||||||
|
}, 6000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [[ 'data', 50 ]] |
||||||
|
}); |
||||||
|
}, 7000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [[ 'data', 91.4 ]] |
||||||
|
}); |
||||||
|
}, 8000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [[ 'data', 0 ]] |
||||||
|
}); |
||||||
|
}, 9000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [[ 'data', 50 ]] |
||||||
|
}); |
||||||
|
}, 10000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [[ 'data', 91.4 ]] |
||||||
|
}); |
||||||
|
}, 11000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [[ 'data', 0 ]] |
||||||
|
}); |
||||||
|
}, 12000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [[ 'data', 50 ]] |
||||||
|
}); |
||||||
|
}, 13000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [[ 'data', 91.4 ]] |
||||||
|
}); |
||||||
|
}, 14000); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
cycleDemo(); |
||||||
|
|
||||||
|
// setInterval(cycleDemo, 30000); |
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,52 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
var chart = c3.generate({ |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
// ["setosa", 0.2, 0.2, 0.2, 0.2, 0.2, 0.4, 0.3, 0.2, 0.2, 0.1, 0.2, 0.2, 0.1, 0.1, 0.2, 0.4, 0.4, 0.3, 0.3, 0.3, 0.2, 0.4, 0.2, 0.5, 0.2, 0.2, 0.4, 0.2, 0.2, 0.2, 0.2, 0.4, 0.1, 0.2, 0.2, 0.2, 0.2, 0.1, 0.2, 0.2, 0.3, 0.3, 0.2, 0.6, 0.4, 0.3, 0.2, 0.2, 0.2, 0.2], |
||||||
|
["versicolor", 1.4, 1.5, 1.5, 1.3, 1.5, 1.3, 1.6, 1.0, 1.3, 1.4, 1.0, 1.5, 1.0, 1.4, 1.3, 1.4, 1.5, 1.0, 1.5, 1.1, 1.8, 1.3, 1.5, 1.2, 1.3, 1.4, 1.4, 1.7, 1.5, 1.0, 1.1, 1.0, 1.2, 1.6, 1.5, 1.6, 1.5, 1.3, 1.3, 1.3, 1.2, 1.4, 1.2, 1.0, 1.3, 1.2, 1.3, 1.3, 1.1, 1.3], |
||||||
|
["virginica", 2.5, 1.9, 2.1, 1.8, 2.2, 2.1, 1.7, 1.8, 1.8, 2.5, 2.0, 1.9, 2.1, 2.0, 2.4, 2.3, 1.8, 2.2, 2.3, 1.5, 2.3, 2.0, 2.0, 1.8, 2.1, 1.8, 1.8, 1.8, 2.1, 1.6, 1.9, 2.0, 2.2, 1.5, 1.4, 2.3, 2.4, 1.8, 1.8, 2.1, 2.4, 2.3, 1.9, 2.3, 2.5, 2.3, 1.9, 2.0, 2.3, 1.8], |
||||||
|
["setosa", 30], |
||||||
|
// ["versicolor", 40], |
||||||
|
// ["virginica", 50], |
||||||
|
], |
||||||
|
type : 'pie', |
||||||
|
onmouseover: function (d, i) { console.log("onmouseover", d, i, this); }, |
||||||
|
onmouseout: function (d, i) { console.log("onmouseout", d, i, this); }, |
||||||
|
onclick: function (d, i) { console.log("onclick", d, i, this); }, |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
x: { |
||||||
|
label: 'Sepal.Width' |
||||||
|
}, |
||||||
|
y: { |
||||||
|
label: 'Petal.Width' |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [ |
||||||
|
["setosa", 130], |
||||||
|
] |
||||||
|
}); |
||||||
|
}, 1000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.unload({ |
||||||
|
ids: 'virginica' |
||||||
|
}); |
||||||
|
}, 2000); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,38 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link href="/css/c3.css" rel="stylesheet" type="text/css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
var chart = c3.generate({ |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 300, 350, 300, 0, 0, 0], |
||||||
|
// ['data2', 130, 100, 140, 200, 150, 50] |
||||||
|
], |
||||||
|
types: { |
||||||
|
data1: 'step', |
||||||
|
data2: 'area-step' |
||||||
|
}, |
||||||
|
onclick: function (d) { console.log('clicked', d); } |
||||||
|
}, |
||||||
|
subchart: { |
||||||
|
show: true |
||||||
|
}, |
||||||
|
}); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [ |
||||||
|
['data2', 130, 100, 140, 200, 150, 50] |
||||||
|
] |
||||||
|
}); |
||||||
|
}, 1000); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,50 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link href="/css/c3.css" rel="stylesheet" type="text/css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
var chart = c3.generate({ |
||||||
|
data: { |
||||||
|
x: 'x', |
||||||
|
columns: [ |
||||||
|
['x', 'hogehoge', 'aaa', 'aaaaaa', 'a', 'b'], |
||||||
|
['data1', 300, 350, 300, 0, 0, 0], |
||||||
|
// ['data2', 130, 100, 140, 200, 150, 50] |
||||||
|
], |
||||||
|
types: { |
||||||
|
data1: 'step', |
||||||
|
data2: 'area-step' |
||||||
|
}, |
||||||
|
empty: { |
||||||
|
abort: false, |
||||||
|
label: { |
||||||
|
text: 'hoge' |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
x: { |
||||||
|
type: 'categorized' |
||||||
|
} |
||||||
|
}, |
||||||
|
subchart: { |
||||||
|
show: true |
||||||
|
}, |
||||||
|
}); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [ |
||||||
|
['data2', 130, 100, 140, 200, 150, 50] |
||||||
|
] |
||||||
|
}); |
||||||
|
}, 1000); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -1,40 +0,0 @@ |
|||||||
<html> |
|
||||||
<head> |
|
||||||
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
|
||||||
</head> |
|
||||||
<body> |
|
||||||
<div id="chart"></div> |
|
||||||
|
|
||||||
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
|
||||||
<script src="/js/c3.min.js"></script> |
|
||||||
<script> |
|
||||||
var chart = c3.generate({ |
|
||||||
bindto: '#chart', |
|
||||||
data: { |
|
||||||
x: 'x', |
|
||||||
columns: [ |
|
||||||
['x', 30, 40, 100, 200, 250, 350], |
|
||||||
['sample', 30, 200, 100, 400, 150, 250] |
|
||||||
] |
|
||||||
} |
|
||||||
}); |
|
||||||
|
|
||||||
setTimeout(function () { |
|
||||||
chart.load({ |
|
||||||
columns: [ |
|
||||||
['sample', 100, 300, 200, 300, 150, 300] |
|
||||||
] |
|
||||||
}) |
|
||||||
}, 1000); |
|
||||||
|
|
||||||
setTimeout(function () { |
|
||||||
chart.load({ |
|
||||||
columns: [ |
|
||||||
['x', 130, 140, 200, 300, 450, 550], |
|
||||||
['sample', 200, 350, 100, 200, 50, 100] |
|
||||||
] |
|
||||||
}) |
|
||||||
}, 1500); |
|
||||||
</script> |
|
||||||
</body> |
|
||||||
</html> |
|
@ -0,0 +1,90 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link href="/css/c3.css" rel="stylesheet" type="text/css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var chart = c3.generate({ |
||||||
|
data: { |
||||||
|
json: { |
||||||
|
data1: [30, 20, 50, 40, 60, 50], |
||||||
|
data2: [200, 130, 90, 240, 130, 220], |
||||||
|
data3: [300, 200, 160, 400, 250, 250] |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart = c3.generate({ |
||||||
|
data: { |
||||||
|
json: [{ |
||||||
|
"date": "2014-06-03", |
||||||
|
"443": "3000", |
||||||
|
"995": "500" |
||||||
|
}, { |
||||||
|
"date": "2014-06-04", |
||||||
|
"443": "1000", |
||||||
|
}, { |
||||||
|
"date": "2014-06-05", |
||||||
|
"443": "5000", |
||||||
|
"995": "1000" |
||||||
|
}], |
||||||
|
keys: { |
||||||
|
x: 'date', |
||||||
|
value: [ "443", "995" ] |
||||||
|
} |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
x: { |
||||||
|
type: "category" |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
}, 1000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart = c3.generate({ |
||||||
|
data: { |
||||||
|
// x: 'name', |
||||||
|
json: [ |
||||||
|
{ id: 1, name: 'abc', visits: 200 }, |
||||||
|
{ id: 2, name: 'efg', visits: 400 }, |
||||||
|
{ id: 3, name: 'pqr', visits: 150 }, |
||||||
|
{ id: 4, name: 'xyz', visits: 420 }, |
||||||
|
], |
||||||
|
keys: { |
||||||
|
x: 'name', |
||||||
|
value: ['visits'], |
||||||
|
} |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
x: { |
||||||
|
type: 'categorized' |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
}, 2000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
json: [ |
||||||
|
{ id: 1, name: 'abc', visits: 1200 }, |
||||||
|
{ id: 2, name: 'efg', visits: 900 }, |
||||||
|
{ id: 3, name: 'pqr', visits: 1150 }, |
||||||
|
{ id: 4, name: 'xyz', visits: 1020 }, |
||||||
|
], |
||||||
|
keys: { |
||||||
|
x: 'name', |
||||||
|
value: ['visits'], |
||||||
|
} |
||||||
|
}); |
||||||
|
}, 3000); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,225 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link href="/css/c3.css" rel="stylesheet" type="text/css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart1"></div> |
||||||
|
<div id="chart2"></div> |
||||||
|
<div id="chart3"></div> |
||||||
|
<div id="chart4"></div> |
||||||
|
<div id="chart5"></div> |
||||||
|
<div id="chart6"></div> |
||||||
|
<div id="chart7"></div> |
||||||
|
<div id="chart8"></div> |
||||||
|
<div id="chart9" style="width:33%;"></div> |
||||||
|
<div id="chart10"></div> |
||||||
|
<div id="chart11"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var chart1 = c3.generate({ |
||||||
|
bindto: '#chart1', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 190, 200, 190, null], |
||||||
|
], |
||||||
|
type: 'bar', |
||||||
|
labels: { |
||||||
|
format: function (v, id) { |
||||||
|
if (v === null) { |
||||||
|
return 'Not Applicable'; |
||||||
|
} |
||||||
|
return d3.format('$')(v); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart2 = c3.generate({ |
||||||
|
bindto: '#chart2', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', -190, -200, -190, null], |
||||||
|
], |
||||||
|
type: 'bar', |
||||||
|
labels: { |
||||||
|
format: function (v, id) { |
||||||
|
if (v === null) { |
||||||
|
return 'Not Applicable'; |
||||||
|
} |
||||||
|
return d3.format('$')(v); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart3 = c3.generate({ |
||||||
|
bindto: '#chart3', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', -190, 200, 190, null], |
||||||
|
], |
||||||
|
type: 'bar', |
||||||
|
labels: { |
||||||
|
format: function (v, id) { |
||||||
|
if (v === null) { |
||||||
|
return 'Not Applicable'; |
||||||
|
} |
||||||
|
return d3.format('$')(v); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart4 = c3.generate({ |
||||||
|
bindto: '#chart4', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 190, 200, 190, null], |
||||||
|
], |
||||||
|
type: 'bar', |
||||||
|
labels: { |
||||||
|
format: function (v, id) { |
||||||
|
if (v === null) { |
||||||
|
return 'Not Applicable'; |
||||||
|
} |
||||||
|
return d3.format('$')(v); |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
rotated: true |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart5 = c3.generate({ |
||||||
|
bindto: '#chart5', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', -190, -200, -190, null], |
||||||
|
], |
||||||
|
type: 'bar', |
||||||
|
labels: { |
||||||
|
format: function (v, id) { |
||||||
|
if (v === null) { |
||||||
|
return 'Not Applicable'; |
||||||
|
} |
||||||
|
return d3.format('$')(v); |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
rotated: true |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart6 = c3.generate({ |
||||||
|
bindto: '#chart6', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', -190, 200, 190, null], |
||||||
|
], |
||||||
|
type: 'bar', |
||||||
|
labels: { |
||||||
|
format: function (v, id) { |
||||||
|
if (v === null) { |
||||||
|
return 'Not Applicable'; |
||||||
|
} |
||||||
|
return d3.format('$')(v); |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
rotated: true |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart7 = c3.generate({ |
||||||
|
bindto: '#chart7', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 30, 200, 100, 500, 150, 250], |
||||||
|
['data2', 50, 20, 10, 40, 15, 25], |
||||||
|
['data3', 250, 220, 210, 240, 215, 225] |
||||||
|
], |
||||||
|
groups: [['data1', 'data2', 'data3']], |
||||||
|
labels: true, |
||||||
|
type: 'bar', |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
rotated: true |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart8 = c3.generate({ |
||||||
|
bindto: '#chart8', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', -30, -200, -100, -500, -150, -250], |
||||||
|
['data2', -50, -20, -10, -40, -15, -25], |
||||||
|
['data3', -250, -220, -210, -240, -215, -225] |
||||||
|
], |
||||||
|
groups: [['data1', 'data2', 'data3']], |
||||||
|
labels: true, |
||||||
|
type: 'bar', |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
rotated: true |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart9 = c3.generate({ |
||||||
|
bindto: '#chart9', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', -19000000000000, 200, 19000000000000, null], |
||||||
|
], |
||||||
|
type: 'bar', |
||||||
|
labels: { |
||||||
|
format: function (v, id) { |
||||||
|
if (v === null) { |
||||||
|
return 'Not Applicable'; |
||||||
|
} |
||||||
|
return d3.format('$')(v); |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
rotated: true |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart10 = c3.generate({ |
||||||
|
bindto: '#chart10', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 300, 350, 300, 0, 0, 100], |
||||||
|
['data2', 130, 0, 140, 200, 0, 50], |
||||||
|
['data3', 130, 0, 140, 200, 0, 50], |
||||||
|
['data4', 130, 0, 140, 200, 0, 50], |
||||||
|
], |
||||||
|
type: 'area', |
||||||
|
groups: [['data1', 'data2', 'data3', 'data4']], |
||||||
|
labels: true |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart11 = c3.generate({ |
||||||
|
bindto: '#chart11', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 300, 350, 300, 0, 0, 100], |
||||||
|
['data2', 130, 0, 140, 200, 0, 50], |
||||||
|
['data3', 130, 0, 140, 200, 0, 50], |
||||||
|
['data4', 130, 0, 140, 200, 0, 50], |
||||||
|
], |
||||||
|
groups: [['data1', 'data2', 'data3', 'data4']], |
||||||
|
labels: true |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,55 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link href="/css/c3.css" rel="stylesheet" type="text/css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
var chart = c3.generate({ |
||||||
|
data: { |
||||||
|
x: 'x', |
||||||
|
url: '/data/c3_test_ts.csv', |
||||||
|
labels: true |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
x: { |
||||||
|
type: 'timeseries' |
||||||
|
} |
||||||
|
}, |
||||||
|
subchart: { |
||||||
|
show: true |
||||||
|
}, |
||||||
|
zoom: { |
||||||
|
enabled: true |
||||||
|
}, |
||||||
|
}); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
url: '/data/c3_test2_ts.csv' |
||||||
|
}); |
||||||
|
}, 1000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.unload({ |
||||||
|
ids: 'data2' |
||||||
|
}); |
||||||
|
}, 2000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [ |
||||||
|
['data1', 30, 20, 50, 40, 60, 50], |
||||||
|
], |
||||||
|
unload: true, |
||||||
|
// unload: ['data2', 'data3'], |
||||||
|
// unload: ['data2'] |
||||||
|
}); |
||||||
|
}, 3000); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,71 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<button id="btn1">Bar</button> |
||||||
|
<button id="btn2">Line</button> |
||||||
|
<button id="btn3">Area</button> |
||||||
|
<div id="chart1"></div> |
||||||
|
<div id="chart2"></div> |
||||||
|
<div id="chart3"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var normalData = { |
||||||
|
columns: [ |
||||||
|
['data1', -1030, -1200, 1000], |
||||||
|
['data2', -1150, -220, -1110] |
||||||
|
], |
||||||
|
labels: true, |
||||||
|
}, |
||||||
|
allPositiveData = { |
||||||
|
columns: [ |
||||||
|
['data1', 1030, 1200, 1100], |
||||||
|
['data2', 2050, 2020, 2010] |
||||||
|
], |
||||||
|
labels: true, |
||||||
|
}, |
||||||
|
allNegativeData = { |
||||||
|
columns: [ |
||||||
|
['data1', -1030, -2200, -2100], |
||||||
|
['data2', -1150, -2010, -1200] |
||||||
|
], |
||||||
|
labels: true, |
||||||
|
} |
||||||
|
|
||||||
|
var chart1 = c3.generate({ |
||||||
|
bindto: '#chart1', |
||||||
|
data: normalData |
||||||
|
}); |
||||||
|
|
||||||
|
var chart2 = c3.generate({ |
||||||
|
bindto: '#chart2', |
||||||
|
data: allPositiveData |
||||||
|
}); |
||||||
|
|
||||||
|
var chart3 = c3.generate({ |
||||||
|
bindto: '#chart3', |
||||||
|
data: allNegativeData |
||||||
|
}); |
||||||
|
|
||||||
|
d3.select('#btn1').on('click', function () { |
||||||
|
chart1.transform('bar'); |
||||||
|
chart2.transform('bar'); |
||||||
|
chart3.transform('bar'); |
||||||
|
}); |
||||||
|
d3.select('#btn2').on('click', function () { |
||||||
|
chart1.transform('line'); |
||||||
|
chart2.transform('line'); |
||||||
|
chart3.transform('line'); |
||||||
|
}); |
||||||
|
d3.select('#btn3').on('click', function () { |
||||||
|
chart1.transform('area'); |
||||||
|
chart2.transform('area'); |
||||||
|
chart3.transform('area'); |
||||||
|
}); |
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,37 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart1"></div> |
||||||
|
<div id="chart2"></div> |
||||||
|
|
||||||
|
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> |
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var chart1 = c3.generate({ |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['sample', 30, 200, 100, null, 150, 250] |
||||||
|
], |
||||||
|
}, |
||||||
|
}); |
||||||
|
|
||||||
|
var chart2 = c3.generate({ |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['sample', 30, 200, 100, null, 150, 250] |
||||||
|
], |
||||||
|
type: 'bar' |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
document.getElementById('chart1').appendChild(chart1.element); |
||||||
|
|
||||||
|
$('#chart2').append(chart2.element); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,37 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var chart = c3.generate({ |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
// ['data1', 100, 200], |
||||||
|
], |
||||||
|
empty: { |
||||||
|
label: { |
||||||
|
text: 'No Data' |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
subchart: { |
||||||
|
show: true |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [ |
||||||
|
['data1', 100, 200], |
||||||
|
], |
||||||
|
}); |
||||||
|
}, 1000); |
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,73 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart1"></div> |
||||||
|
<div id="chart2"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var chart1 = c3.generate({ |
||||||
|
"bindto": "#chart1", |
||||||
|
"axis": { |
||||||
|
"x": { |
||||||
|
"type": "timeseries", |
||||||
|
"tick": { |
||||||
|
format: '%Y-%m-%d %H:%M:%S' |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"grid": { |
||||||
|
"x": { |
||||||
|
"lines": [ |
||||||
|
{ "value": 1401883200000, "text": new Date(1401883200000), "color": "#f00" }, |
||||||
|
] |
||||||
|
} |
||||||
|
}, |
||||||
|
"data": { |
||||||
|
"type": "line", |
||||||
|
"columns": [ |
||||||
|
["epoch", 1401879600000, 1401883200000, 1401886800000], |
||||||
|
["y", 1955, 2419, 2262] |
||||||
|
], |
||||||
|
"xs": { |
||||||
|
"y": "epoch" |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart2 = c3.generate({ |
||||||
|
"bindto": "#chart2", |
||||||
|
"axis": { |
||||||
|
"x": { |
||||||
|
"type": "timeseries", |
||||||
|
"tick": { |
||||||
|
format: '%Y-%m-%d %H:%M:%S' |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"grid": { |
||||||
|
"x": { |
||||||
|
"lines": [ |
||||||
|
{ "value": new Date(1401883200000), "text": new Date(1401883200000), "color": "#f00" }, |
||||||
|
] |
||||||
|
} |
||||||
|
}, |
||||||
|
"data": { |
||||||
|
"type": "line", |
||||||
|
"columns": [ |
||||||
|
["epoch", 1401879600000, 1401883200000, 1401886800000], |
||||||
|
["y", 1955, 2419, 2262] |
||||||
|
], |
||||||
|
"xs": { |
||||||
|
"y": "epoch" |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,111 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart1"></div> |
||||||
|
<div id="chart2"></div> |
||||||
|
<div id="chart3"></div> |
||||||
|
<div id="chart4"></div> |
||||||
|
<div id="chart5"></div> |
||||||
|
<div id="chart6"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var smallData = [['sample', 30, 200, 100, 400, 150, 250]], |
||||||
|
bigData = [['sample', 30, 200, 100, 400, 150, 250, 30, 200, 100, 400, 150, 250]]; |
||||||
|
|
||||||
|
var chart1 = c3.generate({ |
||||||
|
bindto: '#chart1', |
||||||
|
data: { |
||||||
|
columns: smallData |
||||||
|
}, |
||||||
|
grid: { |
||||||
|
x: { |
||||||
|
show: true |
||||||
|
}, |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
c3.generate({ |
||||||
|
bindto: '#chart2', |
||||||
|
data: { |
||||||
|
columns: smallData |
||||||
|
}, |
||||||
|
grid: { |
||||||
|
y: { |
||||||
|
show: true |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
c3.generate({ |
||||||
|
bindto: '#chart3', |
||||||
|
data: { |
||||||
|
columns: smallData |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
rotated: true, |
||||||
|
}, |
||||||
|
grid: { |
||||||
|
x: { |
||||||
|
show: true |
||||||
|
}, |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
c3.generate({ |
||||||
|
bindto: '#chart4', |
||||||
|
data: { |
||||||
|
columns: smallData |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
rotated: true, |
||||||
|
}, |
||||||
|
grid: { |
||||||
|
y: { |
||||||
|
show: true |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
c3.generate({ |
||||||
|
bindto: '#chart5', |
||||||
|
data: { |
||||||
|
columns: bigData |
||||||
|
}, |
||||||
|
grid: { |
||||||
|
x: { |
||||||
|
show: true |
||||||
|
}, |
||||||
|
y: { |
||||||
|
show: true |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
c3.generate({ |
||||||
|
bindto: '#chart6', |
||||||
|
data: { |
||||||
|
columns: bigData |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
x: { |
||||||
|
type: 'category' |
||||||
|
} |
||||||
|
}, |
||||||
|
grid: { |
||||||
|
x: { |
||||||
|
show: true |
||||||
|
}, |
||||||
|
y: { |
||||||
|
show: true |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,89 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart1"></div> |
||||||
|
<div id="chart2"></div> |
||||||
|
<div id="chart3"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var smallData = [ |
||||||
|
['x', '2014-01-01', '2014-02-01', '2014-03-01', '2014-04-01', '2014-05-01', '2014-06-01'], |
||||||
|
['sample', 30, 200, 100, 400, 150, 250] |
||||||
|
], |
||||||
|
bigData = [ |
||||||
|
['x', '2014-01-01', '2014-02-01', '2014-03-01', '2014-04-01', '2014-05-01', '2014-06-01', '2014-07-01', '2014-08-01', '2014-09-01', '2014-10-01', '2014-11-01', '2014-12-01'], |
||||||
|
['sample', 30, 200, 100, 400, 150, 250, 30, 200, 100, 400, 150, 250] |
||||||
|
]; |
||||||
|
|
||||||
|
c3.generate({ |
||||||
|
bindto: '#chart1', |
||||||
|
data: { |
||||||
|
x: 'x', |
||||||
|
columns: smallData |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
x: { |
||||||
|
type: 'timeseries', |
||||||
|
tick: { |
||||||
|
format: "%Y-%m-%d %H:%M:%S" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
grid: { |
||||||
|
x: { |
||||||
|
show: true, |
||||||
|
}, |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
c3.generate({ |
||||||
|
bindto: '#chart2', |
||||||
|
data: { |
||||||
|
x: 'x', |
||||||
|
columns: smallData |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
rotated: true, |
||||||
|
x: { |
||||||
|
type: 'timeseries', |
||||||
|
tick: { |
||||||
|
format: "%Y-%m-%d %H:%M:%S" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
grid: { |
||||||
|
x: { |
||||||
|
show: true, |
||||||
|
}, |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
c3.generate({ |
||||||
|
bindto: '#chart3', |
||||||
|
data: { |
||||||
|
x: 'x', |
||||||
|
columns: bigData |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
x: { |
||||||
|
type: 'timeseries', |
||||||
|
tick: { |
||||||
|
format: "%Y-%m-%d %H:%M:%S" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
grid: { |
||||||
|
x: { |
||||||
|
show: true |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,87 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart1"></div> |
||||||
|
<div id="chart2"></div> |
||||||
|
<div id="chart3"></div> |
||||||
|
<div id="chart4"></div> |
||||||
|
<div id="chart5"></div> |
||||||
|
<div id="chart6"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var columns = []; |
||||||
|
for (var i = 0; i < 28; i++ ) { |
||||||
|
columns[i] = ['datahogehogeohgeohoge' + i, 10 * i, 20 * i]; |
||||||
|
} |
||||||
|
|
||||||
|
c3.generate({ |
||||||
|
bindto: '#chart1', |
||||||
|
data: { |
||||||
|
columns: columns, |
||||||
|
}, |
||||||
|
}); |
||||||
|
|
||||||
|
c3.generate({ |
||||||
|
bindto: '#chart2', |
||||||
|
data: { |
||||||
|
columns: columns, |
||||||
|
}, |
||||||
|
legend: { |
||||||
|
position: 'right' |
||||||
|
}, |
||||||
|
}); |
||||||
|
|
||||||
|
c3.generate({ |
||||||
|
bindto: '#chart3', |
||||||
|
data: { |
||||||
|
columns: columns, |
||||||
|
}, |
||||||
|
legend: { |
||||||
|
position: 'inset', |
||||||
|
}, |
||||||
|
}); |
||||||
|
|
||||||
|
c3.generate({ |
||||||
|
bindto: '#chart4', |
||||||
|
data: { |
||||||
|
columns: columns, |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
rotated: true, |
||||||
|
}, |
||||||
|
}); |
||||||
|
|
||||||
|
c3.generate({ |
||||||
|
bindto: '#chart5', |
||||||
|
data: { |
||||||
|
columns: columns, |
||||||
|
}, |
||||||
|
legend: { |
||||||
|
position: 'right' |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
rotated: true, |
||||||
|
}, |
||||||
|
}); |
||||||
|
|
||||||
|
c3.generate({ |
||||||
|
bindto: '#chart6', |
||||||
|
data: { |
||||||
|
columns: columns, |
||||||
|
}, |
||||||
|
legend: { |
||||||
|
position: 'inset' |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
rotated: true, |
||||||
|
}, |
||||||
|
}); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -1,60 +0,0 @@ |
|||||||
<html> |
|
||||||
<head> |
|
||||||
<link href="/css/c3.css" rel="stylesheet" type="text/css"> |
|
||||||
</head> |
|
||||||
<body> |
|
||||||
<div id="chart1" style="height:300px;"></div> |
|
||||||
<div id="chart2" style="height:150px;"></div> |
|
||||||
<div id="chart3" style="height:150px;"></div> |
|
||||||
|
|
||||||
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
|
||||||
<script src="/js/c3.js"></script> |
|
||||||
<script> |
|
||||||
var chart1 = c3.generate({ |
|
||||||
bindto: '#chart1', |
|
||||||
data: { |
|
||||||
// xs: { |
|
||||||
// 'data2': 'data1', |
|
||||||
// }, |
|
||||||
columns: [ |
|
||||||
['data1', 130, 210, 120, 440, 250, 350], |
|
||||||
['data2', 50, 20, 10, 40, 15, 25] |
|
||||||
], |
|
||||||
// type: 'scatter' |
|
||||||
// type: 'pie' |
|
||||||
selection: { |
|
||||||
enabled: true |
|
||||||
} |
|
||||||
}, |
|
||||||
zoom: { |
|
||||||
enabled: true |
|
||||||
}, |
|
||||||
subchart : { |
|
||||||
show: true |
|
||||||
} |
|
||||||
}); |
|
||||||
var chart2 = c3.generate({ |
|
||||||
bindto: '#chart2', |
|
||||||
data: { |
|
||||||
columns: [ |
|
||||||
['data1', 30, 200, 100, 400, 150, 250], |
|
||||||
['data2', 150, 120, 210, 240, 215, 125] |
|
||||||
], |
|
||||||
// type: 'scatter' |
|
||||||
// type: 'pie' |
|
||||||
}, |
|
||||||
}); |
|
||||||
var chart3 = c3.generate({ |
|
||||||
bindto: '#chart3', |
|
||||||
data: { |
|
||||||
columns: [ |
|
||||||
['data1', 30, 200, 100, 400, 150, 250], |
|
||||||
['data2', 550, 520, 510, 540, 515, 525] |
|
||||||
], |
|
||||||
// type: 'scatter' |
|
||||||
// type: 'pie' |
|
||||||
}, |
|
||||||
}); |
|
||||||
</script> |
|
||||||
</body> |
|
||||||
</html> |
|
@ -0,0 +1,138 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
<style type="text/css"> |
||||||
|
<!-- |
||||||
|
.c3 svg { |
||||||
|
/* font-size: 13px;*/ |
||||||
|
} |
||||||
|
--> |
||||||
|
</style> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart1"></div> |
||||||
|
<div id="chart2"></div> |
||||||
|
<div id="chart3"></div> |
||||||
|
<div id="chart4"></div> |
||||||
|
<div id="chart5"></div> |
||||||
|
<div id="chart6"></div> |
||||||
|
<div id="chart7"></div> |
||||||
|
<div id="chart8"></div> |
||||||
|
<div id="chart9"></div> |
||||||
|
<div id="chart10"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var option = { |
||||||
|
padding: { |
||||||
|
top: 50, |
||||||
|
right: 200, |
||||||
|
bottom: 50, |
||||||
|
left: 200, |
||||||
|
}, |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 30, 200, 100, 400, 150, 250], |
||||||
|
['data2', 130, 100, 200, 100, 150, 150] |
||||||
|
], |
||||||
|
axes: { |
||||||
|
data2: 'y2' |
||||||
|
}, |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
rotated: true, |
||||||
|
y: { |
||||||
|
label: { |
||||||
|
text: 'Y Label', |
||||||
|
position: 'outer-center' |
||||||
|
} |
||||||
|
}, |
||||||
|
y2: { |
||||||
|
show: true, |
||||||
|
label: { |
||||||
|
text: 'Y2 Label', |
||||||
|
position: 'outer-center' |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
legend: { |
||||||
|
position: 'bottom' |
||||||
|
}, |
||||||
|
subchart: { |
||||||
|
show: false |
||||||
|
}, |
||||||
|
grid: { |
||||||
|
x: { |
||||||
|
show: true, |
||||||
|
}, |
||||||
|
y: { |
||||||
|
show: true, |
||||||
|
} |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
|
||||||
|
option.bindto = '#chart1'; |
||||||
|
var chart1 = c3.generate(option); |
||||||
|
|
||||||
|
option.bindto = '#chart2'; |
||||||
|
option.legend.position = 'right' |
||||||
|
var chart2 = c3.generate(option); |
||||||
|
|
||||||
|
option.bindto = '#chart3'; |
||||||
|
option.legend.position = 'bottom'; |
||||||
|
option.subchart.show = true; |
||||||
|
var chart3 = c3.generate(option); |
||||||
|
|
||||||
|
option.bindto = '#chart4'; |
||||||
|
option.legend.position = 'right'; |
||||||
|
option.subchart.show = true; |
||||||
|
var chart4 = c3.generate(option); |
||||||
|
|
||||||
|
option.bindto = '#chart5'; |
||||||
|
option.padding = { |
||||||
|
top: 0, |
||||||
|
right: 0, |
||||||
|
bottom: 0, |
||||||
|
left: 0, |
||||||
|
}; |
||||||
|
option.subchart.show = false; |
||||||
|
option.legend.position = 'bottom'; |
||||||
|
var chart5 = c3.generate(option); |
||||||
|
|
||||||
|
|
||||||
|
option.axis.rotated = false; |
||||||
|
|
||||||
|
option.bindto = '#chart6'; |
||||||
|
var chart6 = c3.generate(option); |
||||||
|
|
||||||
|
option.bindto = '#chart7'; |
||||||
|
option.legend.position = 'right' |
||||||
|
var chart7 = c3.generate(option); |
||||||
|
|
||||||
|
option.bindto = '#chart8'; |
||||||
|
option.legend.position = 'bottom'; |
||||||
|
option.subchart.show = true; |
||||||
|
var chart8 = c3.generate(option); |
||||||
|
|
||||||
|
option.bindto = '#chart9'; |
||||||
|
option.legend.position = 'right'; |
||||||
|
option.subchart.show = true; |
||||||
|
var chart9 = c3.generate(option); |
||||||
|
|
||||||
|
option.bindto = '#chart10'; |
||||||
|
option.padding = { |
||||||
|
top: 0, |
||||||
|
right: 0, |
||||||
|
bottom: 0, |
||||||
|
left: 0, |
||||||
|
}; |
||||||
|
option.subchart.show = false; |
||||||
|
option.legend.position = 'bottom'; |
||||||
|
var chart10 = c3.generate(option); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,88 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var axis_rotated = true; |
||||||
|
|
||||||
|
var generate = function () { return c3.generate({ |
||||||
|
data: { |
||||||
|
x: 'x', |
||||||
|
columns: [ |
||||||
|
['x', '2014-01-01', '2014-02-01', '2014-03-01', '2014-04-01'], |
||||||
|
['data1', 190, 200, 190, null], |
||||||
|
], |
||||||
|
type: 'bar', |
||||||
|
labels: { |
||||||
|
format: function (v, id) { |
||||||
|
if (v === null) { |
||||||
|
return 'Not Applicable'; |
||||||
|
} |
||||||
|
return d3.format('$')(v); |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
x: { |
||||||
|
type: 'categorized' |
||||||
|
}, |
||||||
|
rotated: axis_rotated |
||||||
|
}, |
||||||
|
}); }, chart = generate(); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.hide(); |
||||||
|
}, 1000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.show(); |
||||||
|
}, 2000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [ |
||||||
|
['data1', 300, 350, 100] |
||||||
|
], |
||||||
|
categories: ['2014-01-01 10:10:10', '2014-02-01 12:30:00', '2014-03-01 16:30:00'] |
||||||
|
}); |
||||||
|
}, 3000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [ |
||||||
|
['data1', 50, 100, 150] |
||||||
|
], |
||||||
|
categories: ['2014', '2015', '2016'] |
||||||
|
}); |
||||||
|
}, 4000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
axis_rotated = false; |
||||||
|
chart = generate(); |
||||||
|
}, 5000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [ |
||||||
|
['data1', 300, 350, 100000] |
||||||
|
], |
||||||
|
}); |
||||||
|
}, 6000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [ |
||||||
|
['data1', 50, 100, 150] |
||||||
|
], |
||||||
|
}); |
||||||
|
}, 7000); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,27 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<!-- <script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>--> |
||||||
|
<script src="/js/d3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script src="/js/samples/plugin.js"></script> |
||||||
|
<script> |
||||||
|
var chart = c3.generate({ |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 30, 200, 100, 400, 150, 250], |
||||||
|
['data2', 50, 20, 10, 40, 15, 25] |
||||||
|
], |
||||||
|
onclick: function (d, element) { console.log("onclick", d, element); }, |
||||||
|
onmouseover: function (d) { console.log("onmouseover", d); }, |
||||||
|
onmouseout: function (d) { console.log("onmouseout", d); }, |
||||||
|
}, |
||||||
|
test1: 'TEST1', |
||||||
|
}); |
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,46 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart1"></div> |
||||||
|
<div id="chart2"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var chart1 = c3.generate({ |
||||||
|
bindto: '#chart1', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 30, 200, 100, 400, 150, 250], |
||||||
|
['data2', 50, 20, 10, 40, 15, 25] |
||||||
|
], |
||||||
|
labels: true |
||||||
|
}, |
||||||
|
subchart: { |
||||||
|
show: true |
||||||
|
}, |
||||||
|
}); |
||||||
|
|
||||||
|
var chart2 = c3.generate({ |
||||||
|
bindto: '#chart2', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 30, 200, 100, 400, 150, 250], |
||||||
|
['data2', 50, 20, 10, 40, 15, 25] |
||||||
|
], |
||||||
|
labels: true |
||||||
|
}, |
||||||
|
subchart: { |
||||||
|
show: true |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
rotated: true |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,57 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart1"></div> |
||||||
|
<div id="chart2"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var chart1 = c3.generate({ |
||||||
|
bindto: '#chart1', |
||||||
|
data: { |
||||||
|
x : 'x', |
||||||
|
columns: [ |
||||||
|
['x', '2013-01-01', '2013-02-01', '2013-03-01', '2013-04-01', '2013-05-01'], |
||||||
|
['sample', 30, 200, 100, 400, 150], |
||||||
|
['sample2', 130, 300, 200, 450, 250] |
||||||
|
] |
||||||
|
}, |
||||||
|
axis : { |
||||||
|
x : { |
||||||
|
type : 'timeseries', |
||||||
|
tick : { |
||||||
|
format : "%Y-%m-%d" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
subchart: { |
||||||
|
show: true, |
||||||
|
onbrush: function (domain) { |
||||||
|
console.log(this, domain); |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart2 = c3.generate({ |
||||||
|
bindto: '#chart2', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['sample', 30, 200, 100, 400, 150], |
||||||
|
['sample2', 130, 300, 200, 450, 250] |
||||||
|
] |
||||||
|
}, |
||||||
|
subchart: { |
||||||
|
show: true, |
||||||
|
onbrush: function (domain) { |
||||||
|
console.log(this, domain); |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,64 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
var chart = c3.generate({ |
||||||
|
bindto: '#chart', |
||||||
|
data: { |
||||||
|
x : 'x', |
||||||
|
xFormat : '%Y%m%d', |
||||||
|
columns: [ |
||||||
|
['x', new Date('2013-01-01 00:00:00'), new Date('2013-01-02 00:00:00'), new Date('2013-01-03 00:00:00'), new Date('2013-01-04 00:00:00'), new Date('2013-01-05 00:00:00'), new Date('2013-01-06 00:00:00')], |
||||||
|
['sample', 30, 200, 100, 400, 150, 250], |
||||||
|
['sample2', 130, 300, 200, 450, 250, 350] |
||||||
|
] |
||||||
|
}, |
||||||
|
axis : { |
||||||
|
x : { |
||||||
|
type : 'timeseries', |
||||||
|
tick : { |
||||||
|
// format : "%m/%d" // https://github.com/mbostock/d3/wiki/Time-Formatting#wiki-format |
||||||
|
format : "%e %b %y" // https://github.com/mbostock/d3/wiki/Time-Formatting#wiki-format |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [ |
||||||
|
['sample', 200, 130, 90, 240, 130, 100], |
||||||
|
['sample2', 300, 200, 160, 400, 250, 250] |
||||||
|
] |
||||||
|
}); |
||||||
|
}, 1000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [ |
||||||
|
['x', '20140101', '20140201', '20140301', '20140401', '20140501', '20140601'], |
||||||
|
['sample', 500, 630, 690, 440, 630, 900], |
||||||
|
['sample2', 400, 600, 460, 200, 350, 450] |
||||||
|
] |
||||||
|
}); |
||||||
|
}, 2000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [ |
||||||
|
['x', new Date('2014-01-02 00:00:00'), new Date('2014-02-02 00:00:00'), new Date('2014-03-02 00:00:00'), new Date('2014-04-02 00:00:00'), new Date('2014-05-02 00:00:00'), new Date('2014-06-02 00:00:00')], |
||||||
|
['sample', 500, 630, 690, 440, 630, 900], |
||||||
|
['sample2', 400, 600, 460, 200, 350, 450] |
||||||
|
] |
||||||
|
}); |
||||||
|
}, 3000); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,72 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<!-- <script src="/js/c3.min.0.1.35.js"></script>--> |
||||||
|
<script> |
||||||
|
|
||||||
|
var dates = ['date', |
||||||
|
1401908040000, |
||||||
|
1401907980000, |
||||||
|
1401907920000, |
||||||
|
1401907860000, |
||||||
|
1401907800000, |
||||||
|
1401907740000, |
||||||
|
1401907680000, |
||||||
|
1401907620000, |
||||||
|
1401907560000, |
||||||
|
1401907500000 |
||||||
|
]; |
||||||
|
|
||||||
|
var chart = c3.generate({ |
||||||
|
bindto: '#chart', |
||||||
|
data: { |
||||||
|
x : 'date', |
||||||
|
columns: [ |
||||||
|
dates, |
||||||
|
['data1', 30, 200, 100, 400, 150, 250, 30, 200, 100, 400], |
||||||
|
['data2', 130, 300, 200, 450, 250, 350, 130, 300, 200, 450] |
||||||
|
], |
||||||
|
types: { |
||||||
|
data1: 'bar', |
||||||
|
} |
||||||
|
}, |
||||||
|
axis : { |
||||||
|
x : { |
||||||
|
type : 'timeseries', |
||||||
|
tick : { |
||||||
|
format : "%Y-%m-%d %H:%M:%S" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
/* |
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [ |
||||||
|
['sample', 200, 130, 90, 240, 130, 100], |
||||||
|
['sample2', 300, 200, 160, 400, 250, 250] |
||||||
|
] |
||||||
|
}); |
||||||
|
}, 1000); |
||||||
|
|
||||||
|
setTimeout(function () { |
||||||
|
chart.load({ |
||||||
|
columns: [ |
||||||
|
['date', '20140101', '20140201', '20140301', '20140401', '20140501', '20140601'], |
||||||
|
['sample', 500, 630, 690, 440, 630, 900], |
||||||
|
['sample2', 400, 600, 460, 200, 350, 450] |
||||||
|
] |
||||||
|
}); |
||||||
|
}, 2000); |
||||||
|
|
||||||
|
*/ |
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -1,39 +0,0 @@ |
|||||||
<html> |
|
||||||
<head> |
|
||||||
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
|
||||||
</head> |
|
||||||
<body> |
|
||||||
<div id="chart"></div> |
|
||||||
|
|
||||||
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
|
||||||
<script src="/js/c3.min.js"></script> |
|
||||||
<script> |
|
||||||
var chart = c3.generate({ |
|
||||||
bindto: '#chart', |
|
||||||
data: { |
|
||||||
x : 'date', |
|
||||||
x_format : '%Y%m%d', |
|
||||||
columns: [ |
|
||||||
// ['x', '2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04', '2013-01-05', '2013-01-06'], |
|
||||||
['date', '20130101', '20130102', '20130103', '20130104', '20130105', '20130106'], |
|
||||||
['sample', 30, 200, 100, 400, 150, 250] |
|
||||||
] |
|
||||||
}, |
|
||||||
axis : { |
|
||||||
x : { |
|
||||||
type : 'timeseries' |
|
||||||
} |
|
||||||
}, |
|
||||||
grid: { |
|
||||||
x: { |
|
||||||
lines: [{ |
|
||||||
value: '20130104', |
|
||||||
text: '2013/01/04', |
|
||||||
class: 'lineFor20130104' |
|
||||||
}] |
|
||||||
} |
|
||||||
} |
|
||||||
}); |
|
||||||
</script> |
|
||||||
</body> |
|
||||||
</html> |
|
@ -0,0 +1,52 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var rows = [["x","Views","GMV"]]; |
||||||
|
rows = rows.concat([[1398709800000,780,136], |
||||||
|
[1398450600000,812,134], |
||||||
|
[1399401000000,784,154], |
||||||
|
[1399228200000,786,135], |
||||||
|
[1399573800000,802,131], |
||||||
|
[1399487400000,773,166], |
||||||
|
[1399314600000,787,146], |
||||||
|
[1399919400000,1496,309], |
||||||
|
[1399833000000,767,138], |
||||||
|
[1399746600000,797,141], |
||||||
|
[1399660200000,796,146], |
||||||
|
[1398623400000,779,143], |
||||||
|
[1399055400000,794,140], |
||||||
|
[1398969000000,791,140], |
||||||
|
[1398882600000,825,107], |
||||||
|
[1399141800000,786,136], |
||||||
|
[1398537000000,773,143], |
||||||
|
[1398796200000,783,154], |
||||||
|
[1400005800000,1754,284]].sort(function (a, b) { |
||||||
|
return a[0] - b[0]; |
||||||
|
})); |
||||||
|
|
||||||
|
var chart = c3.generate({ |
||||||
|
bindto: '#chart', |
||||||
|
data: { |
||||||
|
x : 'x', |
||||||
|
rows: rows |
||||||
|
}, |
||||||
|
axis : { |
||||||
|
x : { |
||||||
|
type : 'timeseries', |
||||||
|
tick : { |
||||||
|
format : "%Y-%m-%d" // https://github.com/mbostock/d3/wiki/Time-Formatting#wiki-format |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,26 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link href="/css/c3.css" rel="stylesheet" type="text/css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var chart = c3.generate({ |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['data1', 30, 200, 100, 400, 150, 250], |
||||||
|
['data2', 50, 20, 10, 40, 15, 25] |
||||||
|
] |
||||||
|
}, |
||||||
|
tooltip: { |
||||||
|
grouped: false |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,42 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
<button onclick="load()">Load</button> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var chart = c3.generate({ |
||||||
|
bindto: '#chart', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
generateData(100) |
||||||
|
], |
||||||
|
}, |
||||||
|
zoom: { enabled: true }, |
||||||
|
subchart: { show: true } |
||||||
|
}); |
||||||
|
|
||||||
|
function load() { |
||||||
|
chart.load({ |
||||||
|
columns: [ |
||||||
|
generateData(Math.random() * 1000) |
||||||
|
], |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
function generateData(n) { |
||||||
|
var column = ['sample']; |
||||||
|
for (var i = 0; i < n; i++) { |
||||||
|
column.push(Math.random() * 500); |
||||||
|
} |
||||||
|
return column; |
||||||
|
} |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,47 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart"></div> |
||||||
|
<button onclick="load()">Load</button> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var chart = c3.generate({ |
||||||
|
bindto: '#chart', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
generateData(100) |
||||||
|
], |
||||||
|
}, |
||||||
|
axis: { |
||||||
|
x: { |
||||||
|
type: 'category' |
||||||
|
} |
||||||
|
}, |
||||||
|
zoom: { enabled: true }, |
||||||
|
subchart: { show: true } |
||||||
|
}); |
||||||
|
|
||||||
|
function load() { |
||||||
|
chart.load({ |
||||||
|
columns: [ |
||||||
|
generateData(Math.random() * 1000) |
||||||
|
], |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
function generateData(n) { |
||||||
|
var column = ['sample']; |
||||||
|
for (var i = 0; i < n; i++) { |
||||||
|
column.push(Math.random() * 500); |
||||||
|
} |
||||||
|
return column; |
||||||
|
} |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,57 @@ |
|||||||
|
<html> |
||||||
|
<head> |
||||||
|
<link rel="stylesheet" type="text/css" href="/css/c3.css"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="chart1"></div> |
||||||
|
<div id="chart2"></div> |
||||||
|
|
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script> |
||||||
|
|
||||||
|
var chart1 = c3.generate({ |
||||||
|
bindto: '#chart1', |
||||||
|
data: { |
||||||
|
x : 'x', |
||||||
|
columns: [ |
||||||
|
['x', '2013-01-01', '2013-02-01', '2013-03-01', '2013-04-01', '2013-05-01'], |
||||||
|
['sample', 30, 200, 100, 400, 150], |
||||||
|
['sample2', 130, 300, 200, 450, 250] |
||||||
|
] |
||||||
|
}, |
||||||
|
axis : { |
||||||
|
x : { |
||||||
|
type : 'timeseries', |
||||||
|
tick : { |
||||||
|
format : "%Y-%m-%d" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
zoom: { |
||||||
|
enabled: true, |
||||||
|
onzoom: function (domain) { |
||||||
|
console.log(this, domain); |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var chart2 = c3.generate({ |
||||||
|
bindto: '#chart2', |
||||||
|
data: { |
||||||
|
columns: [ |
||||||
|
['sample', 30, 200, 100, 400, 150], |
||||||
|
['sample2', 130, 300, 200, 450, 250] |
||||||
|
] |
||||||
|
}, |
||||||
|
zoom: { |
||||||
|
enabled: true, |
||||||
|
onzoom: function (domain) { |
||||||
|
console.log(this, domain); |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
</script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,46 @@ |
|||||||
|
<!DOCTYPE html> |
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml"> |
||||||
|
<head> |
||||||
|
<title>c3ext</title> |
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
||||||
|
<link rel="shortcut icon" href="/images/logo_128.ico" /> |
||||||
|
<link href="/css/c3.css" rel="stylesheet" /> |
||||||
|
<script src="http://code.jquery.com/jquery-2.0.3.min.js"></script> |
||||||
|
<script src="https://rawgithub.com/brandonaaron/jquery-mousewheel/master/jquery.mousewheel.min.js"></script> |
||||||
|
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> |
||||||
|
<script src="/js/c3.js"></script> |
||||||
|
<script src="/js/extensions/c3ext.js"></script> |
||||||
|
<script src="/js/samples/zoom_reduction.js"></script> |
||||||
|
</head> |
||||||
|
<body onload="main()"> |
||||||
|
<div class="container-fluid"> |
||||||
|
<h1>C3 DataSet Reduction by Zoom Level</h1> |
||||||
|
<h2>Hackathon May 2014</h2> |
||||||
|
<h4>By Dan-el Khen</h4> |
||||||
|
<p>Rendering graphs in the browser has many advantages, the downside is that takes a long time to render when having large datasets. </p> |
||||||
|
<p>This feature allows you reduces the dataset according to your current zoom level. |
||||||
|
It allows the developer to implement the reduction algorithm in a simple function that accepts an array of values, and returns a reduced single value. |
||||||
|
The default reducer will take the first item, but avg/sum/first/last or any other algorithm is simple to implement. |
||||||
|
</p> |
||||||
|
<h3>Example</h3> |
||||||
|
<p> |
||||||
|
In the following example, we'll render 10K data points, each time we'll reduce those to about 100 items (depending on available size on your screen), |
||||||
|
when zooming in, the resolution of the data will be better and more accurate. This would help in showing the big picture, even when the amount of data is bigger than the numbers of pixels on the screen. |
||||||
|
</p> |
||||||
|
<p>Click on the buttons or scroll with your mouse wheel inside the graph to zoom and/or pan.</p> |
||||||
|
<pre id="status"></pre> |
||||||
|
<div> |
||||||
|
<button onclick="chart.zoom2.zoomIn()">zoomIn</button> |
||||||
|
<button onclick="chart.zoom2.zoomOut()">zoomOut</button> |
||||||
|
<button onclick="chart.zoom2.panLeft()">panLeft</button> |
||||||
|
<button onclick="chart.zoom2.panRight()">panRight</button> |
||||||
|
<button onclick="chart.zoom2.enhance()">enhance</button> |
||||||
|
<button onclick="chart.zoom2.dehance()">dehance</button> |
||||||
|
<button onclick="chart.zoom2.reset()">reset</button> |
||||||
|
</div> |
||||||
|
<div id="divChart" style="height:300px"></div> |
||||||
|
<h3>Notes</h3> |
||||||
|
<p>Only 'columns' data format is supported for now.</p> |
||||||
|
</div> |
||||||
|
</body> |
||||||
|
</html> |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue