You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
295 lines
9.9 KiB
295 lines
9.9 KiB
/* ------------------------------------------------------------------------------ |
|
* |
|
* # C3.js - bars and pies |
|
* |
|
* Demo setup of bars, pies and chart combinations |
|
* |
|
* Version: 1.0 |
|
* Latest update: August 1, 2015 |
|
* |
|
* ---------------------------------------------------------------------------- */ |
|
|
|
$(function () { |
|
|
|
|
|
// Pie chart |
|
// ------------------------------ |
|
|
|
// Generate chart |
|
var pie_chart = c3.generate({ |
|
bindto: '#c3-pie-chart', |
|
size: { width: 350 }, |
|
color: { |
|
pattern: ['#3F51B5', '#FF9800', '#4CAF50', '#00BCD4', '#F44336'] |
|
}, |
|
data: { |
|
columns: [ |
|
['data1', 30], |
|
['data2', 120], |
|
], |
|
type : 'pie' |
|
} |
|
}); |
|
|
|
// Change data |
|
setTimeout(function () { |
|
pie_chart.load({ |
|
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], |
|
] |
|
}); |
|
}, 4000); |
|
setTimeout(function () { |
|
pie_chart.unload({ |
|
ids: 'data1' |
|
}); |
|
pie_chart.unload({ |
|
ids: 'data2' |
|
}); |
|
}, 8000); |
|
|
|
|
|
|
|
// Donut chart |
|
// ------------------------------ |
|
|
|
// Generate chart |
|
var donut_chart = c3.generate({ |
|
bindto: '#c3-donut-chart', |
|
size: { width: 350 }, |
|
color: { |
|
pattern: ['#3F51B5', '#FF9800', '#4CAF50', '#00BCD4', '#F44336'] |
|
}, |
|
data: { |
|
columns: [ |
|
['data1', 30], |
|
['data2', 120], |
|
], |
|
type : 'donut' |
|
}, |
|
donut: { |
|
title: "Iris Petal Width" |
|
} |
|
}); |
|
|
|
// Change data |
|
setTimeout(function () { |
|
donut_chart.load({ |
|
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], |
|
] |
|
}); |
|
}, 4000); |
|
setTimeout(function () { |
|
donut_chart.unload({ |
|
ids: 'data1' |
|
}); |
|
donut_chart.unload({ |
|
ids: 'data2' |
|
}); |
|
}, 8000); |
|
|
|
|
|
|
|
// Bar chart |
|
// ------------------------------ |
|
|
|
// Generate chart |
|
var bar_chart = c3.generate({ |
|
bindto: '#c3-bar-chart', |
|
size: { height: 400 }, |
|
data: { |
|
columns: [ |
|
['data1', 30, 200, 100, 400, 150, 250], |
|
['data2', 130, 100, 140, 200, 150, 50] |
|
], |
|
type: 'bar' |
|
}, |
|
color: { |
|
pattern: ['#2196F3', '#FF9800', '#4CAF50'] |
|
}, |
|
bar: { |
|
width: { |
|
ratio: 0.5 |
|
} |
|
}, |
|
grid: { |
|
y: { |
|
show: true |
|
} |
|
} |
|
}); |
|
|
|
// Change data |
|
setTimeout(function () { |
|
bar_chart.load({ |
|
columns: [ |
|
['data3', 130, -150, 200, 300, -200, 100] |
|
] |
|
}); |
|
}, 6000); |
|
|
|
|
|
|
|
// Stacked bar chart |
|
// ------------------------------ |
|
|
|
// Generate chart |
|
var bar_stacked_chart = c3.generate({ |
|
bindto: '#c3-bar-stacked-chart', |
|
size: { height: 400 }, |
|
color: { |
|
pattern: ['#FF9800', '#F44336', '#009688', '#4CAF50'] |
|
}, |
|
data: { |
|
columns: [ |
|
['data1', -30, 200, 200, 400, -150, 250], |
|
['data2', 130, 100, -100, 200, -150, 50], |
|
['data3', -230, 200, 200, -300, 250, 250] |
|
], |
|
type: 'bar', |
|
groups: [ |
|
['data1', 'data2'] |
|
] |
|
}, |
|
grid: { |
|
x: { |
|
show: true |
|
}, |
|
y: { |
|
lines: [{value:0}] |
|
} |
|
} |
|
}); |
|
|
|
// Change data |
|
setTimeout(function () { |
|
bar_stacked_chart.groups([['data1', 'data2', 'data3']]) |
|
}, 4000); |
|
setTimeout(function () { |
|
bar_stacked_chart.load({ |
|
columns: [['data4', 100, -50, 150, 200, -300, -100]] |
|
}); |
|
}, 8000); |
|
setTimeout(function () { |
|
bar_stacked_chart.groups([['data1', 'data2', 'data3', 'data4']]) |
|
}, 10000); |
|
|
|
|
|
|
|
// Combined chart |
|
// ------------------------------ |
|
|
|
// Generate chart |
|
var combined_chart = c3.generate({ |
|
bindto: '#c3-combined-chart', |
|
size: { height: 400 }, |
|
color: { |
|
pattern: ['#FF9800', '#F44336', '#009688', '#4CAF50', '#03A9F4', '#8BC34A'] |
|
}, |
|
data: { |
|
columns: [ |
|
['data1', 30, 20, 50, 40, 60, 50], |
|
['data2', 200, 130, 90, 240, 130, 220], |
|
['data3', 300, 200, 160, 400, 250, 250], |
|
['data4', 200, 130, 90, 240, 130, 220], |
|
['data5', 130, 120, 150, 140, 160, 150], |
|
['data6', 90, 70, 20, 50, 60, 120], |
|
], |
|
type: 'bar', |
|
types: { |
|
data3: 'spline', |
|
data4: 'line', |
|
data6: 'area', |
|
}, |
|
groups: [ |
|
['data1','data2'] |
|
] |
|
} |
|
}); |
|
|
|
|
|
|
|
// Scatter chart |
|
// ------------------------------ |
|
|
|
// Generate chart |
|
var scatter_chart = c3.generate({ |
|
size: { height: 400 }, |
|
bindto: '#c3-scatter-chart', |
|
data: { |
|
xs: { |
|
setosa: 'setosa_x', |
|
versicolor: 'versicolor_x', |
|
}, |
|
columns: [ |
|
["setosa_x", 3.5, 3.0, 3.2, 3.1, 3.6, 3.9, 3.4, 3.4, 2.9, 3.1, 3.7, 3.4, 3.0, 3.0, 4.0, 4.4, 3.9, 3.5, 3.8, 3.8, 3.4, 3.7, 3.6, 3.3, 3.4, 3.0, 3.4, 3.5, 3.4, 3.2, 3.1, 3.4, 4.1, 4.2, 3.1, 3.2, 3.5, 3.6, 3.0, 3.4, 3.5, 2.3, 3.2, 3.5, 3.8, 3.0, 3.8, 3.2, 3.7, 3.3], |
|
["versicolor_x", 3.2, 3.2, 3.1, 2.3, 2.8, 2.8, 3.3, 2.4, 2.9, 2.7, 2.0, 3.0, 2.2, 2.9, 2.9, 3.1, 3.0, 2.7, 2.2, 2.5, 3.2, 2.8, 2.5, 2.8, 2.9, 3.0, 2.8, 3.0, 2.9, 2.6, 2.4, 2.4, 2.7, 2.7, 3.0, 3.4, 3.1, 2.3, 3.0, 2.5, 2.6, 3.0, 2.6, 2.3, 2.7, 3.0, 2.9, 2.9, 2.5, 2.8], |
|
["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], |
|
], |
|
type: 'scatter' |
|
}, |
|
color: { |
|
pattern: ['#4CAF50', '#F44336'] |
|
}, |
|
grid: { |
|
y: { |
|
show: true |
|
} |
|
}, |
|
point: { r: 5 }, |
|
axis: { |
|
x: { |
|
label: 'Sepal.Width', |
|
tick: { |
|
fit: false |
|
} |
|
}, |
|
y: { |
|
label: 'Petal.Width' |
|
} |
|
} |
|
}); |
|
|
|
// Change data |
|
setTimeout(function () { |
|
scatter_chart.load({ |
|
xs: { |
|
virginica: 'virginica_x' |
|
}, |
|
columns: [ |
|
["virginica_x", 3.3, 2.7, 3.0, 2.9, 3.0, 3.0, 2.5, 2.9, 2.5, 3.6, 3.2, 2.7, 3.0, 2.5, 2.8, 3.2, 3.0, 3.8, 2.6, 2.2, 3.2, 2.8, 2.8, 2.7, 3.3, 3.2, 2.8, 3.0, 2.8, 3.0, 2.8, 3.8, 2.8, 2.8, 2.6, 3.0, 3.4, 3.1, 3.0, 3.1, 3.1, 3.1, 2.7, 3.2, 3.3, 3.0, 2.5, 3.0, 3.4, 3.0], |
|
["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], |
|
] |
|
}); |
|
}, 4000); |
|
setTimeout(function () { |
|
scatter_chart.unload({ |
|
ids: 'setosa' |
|
}); |
|
}, 8000); |
|
setTimeout(function () { |
|
scatter_chart.load({ |
|
columns: [ |
|
["virginica", 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], |
|
] |
|
}); |
|
}, 10000); |
|
|
|
|
|
|
|
// Resize chart on sidebar width change |
|
$(".sidebar-control").on('click', function() { |
|
pie_chart.resize(); |
|
donut_chart.resize(); |
|
bar_chart.resize(); |
|
bar_stacked_chart.resize(); |
|
combined_chart.resize(); |
|
scatter_chart.resize(); |
|
}); |
|
}); |