blob: 697e0d779894af6233612ba8ec6b39b1ffb620f5 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<script src="lib/esl.js"></script>
<script src="lib/config.js"></script>
<script src="lib/jquery.min.js"></script>
<script src="lib/facePrint.js"></script>
<script src="lib/testHelper.js"></script>
<link rel="stylesheet" href="lib/reset.css">
</head>
<body>
<style>
.test-title {
background: #146402;
color: #fff;
}
</style>
<div id="main0"></div>
<script>
require([
'echarts'/*, 'map/js/china' */
], function (echarts) {
$.getJSON('./data/life-expectancy.json', function (data) {
var option = {
grid: {
left: 0,
bottom: 0,
containLabel: true,
top: 80
},
xAxis: {
type: 'value'
},
yAxis: {
type: 'value',
scale: true
},
toolbox: {
feature: {
dataZoom: {}
}
},
dataZoom: {
type: 'inside'
},
series: []
};
var series = data.series;
option.visualMap = {
show: false,
min: 0,
max: 100,
dimension: 1
};
option.legend = {
// data: data.countries.map(function (item) {return item[2];}),
selectedMode: 'single',
right: 100
};
data.countries.forEach(function (country) {
var data = series.map(function (yearData) {
var item = yearData.filter(function (item) {
return item[3] === country[2];
})[0];
return {
label: {
normal: {
show: item[4] % 20 === 0 && item[4] > 1940
},
emphasis: {
position: 'top',
show: true
}
},
name: item[4],
value: item
};
});
var links = data.map(function (item, idx) {
return {
source: idx,
target: idx + 1
};
});
links.pop();
option.series.push({
name: country[2],
type: 'graph',
coordinateSystem: 'cartesian2d',
data: data,
links: links,
edgeSymbol: ['none', 'arrow'],
edgeSymbolSize: 5,
legendHoverLink: false,
lineStyle: {
normal: {
color: '#333'
}
},
itemStyle: {
normal: {
borderWidth: 1,
borderColor: '#333'
}
},
label: {
normal: {
textStyle: {
color: '#333'
},
position: 'right'
}
},
symbolSize: 10,
animationDelay: function (idx) {
return idx * 100;
}
});
});
testHelper.create(echarts, 'main0', {
option: option
});
});
});
</script>
</body>
</html>