blob: a0e1f73df9e73d7a532a0a84937418f82bfd5b43 [file] [log] [blame]
<html>
<head>
<meta charset="utf-8">
<title>calendar</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="lib/reset.css">
<script src="lib/esl.js"></script>
<script src="lib/config.js"></script>
<script src="lib/jquery.min.js"></script>
</head>
<body>
<style>
html, body, #main {
width: 100%;
height: 100%;
}
</style>
<div id="main"></div>
<script>
var getVirtulData = function(year) {
year = year || '2017';
var datas = [];
var arr31 = [1, 3, 5, 7, 8, 10, 12];
var arr30 = [4, 6, 9, 11];
for (var i = 1; i <= 31; i++) {
for (var j = arr31.length - 1; j >= 0; j--) {
datas.push([year + '-' + arr31[j] + '-' + i, Math.floor(Math.random() * 10000)]);
}
}
for (var i = 1; i <= 30; i++) {
for (var j = arr30.length - 1; j >= 0; j--) {
datas.push([year + '-' + arr30[j] + '-' + i, Math.floor(Math.random() * 10000)]);
}
}
for (var i = 1; i <= 29; i++) {
datas.push([year + '-2-' + i, Math.floor(Math.random() * 10000)]);
}
return datas;
}
var data = getVirtulData(2016);
require([
'echarts'
// 'echarts/chart/heatmap',
// 'echarts/chart/scatter',
// 'echarts/chart/effectScatter',
// 'echarts/component/title',
// 'echarts/component/legend',
// 'echarts/component/calendar',
// 'echarts/component/tooltip',
// 'echarts/component/visualMap'
], function (echarts) {
var chart = echarts.init(document.getElementById('main'));
chart.setOption({
aria: {
show: true
},
backgroundColor: '#404a59',
title: {
top: 30,
text: '2016年某人每天的步数',
subtext: '数据纯属虚构',
left: 'center',
textStyle: {
color: '#fff'
}
},
tooltip : {
trigger: 'item'
},
legend: {
orient: 'vertical',
y: '30',
x: '100',
data:['步数'],
textStyle: {
color: '#fff'
}
},
calendar: {
top: 100,
left: 60,
range: '2016',
splitLine: {
show: true,
lineStyle: {
color: '#000',
width: 4,
type: 'solid'
}
},
yearLabel: {
textStyle: {
color: '#fff'
}
},
itemStyle: {
normal: {
color: '#323c48',
borderWidth: 1,
borderColor: '#111'
}
}
},
series : [
{
name: '步数',
type: 'scatter',
coordinateSystem: 'calendar',
data: data,
cursor: 'default',
symbolSize: function (val) {
return val[1] / 500;
},
itemStyle: {
normal: {
color: '#ddb926'
}
}
},
{
name: 'Top 12',
type: 'effectScatter',
coordinateSystem: 'calendar',
cursor: 'default',
data: data.sort(function (a, b) {
return b[1] - a[1];
}).slice(0, 12),
symbolSize: function (val) {
return val[1] / 500;
},
showEffectOn: 'render',
rippleEffect: {
brushType: 'stroke'
},
hoverAnimation: true,
itemStyle: {
normal: {
color: '#f4e925',
shadowBlur: 10,
shadowColor: '#333'
}
},
zlevel: 1
}
]
});
$(window).resize(function() {
chart.resize();
});
});
</script>
</body>
</html>