| |
| $.get(ROOT_PATH + '/data/asset/data/life-expectancy.json', function (data) { |
| var series = data.series; |
| option = { |
| visualMap: { |
| show: false, |
| min: 0, |
| max: 100, |
| dimension: 1 |
| }, |
| legend: { |
| data: data.counties, |
| selectedMode: 'single', |
| right: 100 |
| }, |
| grid: { |
| left: 0, |
| bottom: 0, |
| containLabel: true, |
| top: 80 |
| }, |
| xAxis: { |
| type: 'value' |
| }, |
| yAxis: { |
| type: 'value', |
| scale: true |
| }, |
| toolbox: { |
| feature: { |
| dataZoom: {} |
| } |
| }, |
| dataZoom: { |
| type: 'inside' |
| }, |
| series: [] |
| }; |
| |
| data.counties.forEach(function (country) { |
| var data = series.map(function (yearData) { |
| var item = yearData.filter(function (item) { |
| return item[3] === country; |
| })[0]; |
| return { |
| label: { |
| show: item[4] % 20 === 0 && item[4] > 1940, |
| position: 'top' |
| }, |
| emphasis: { |
| label: { |
| 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, |
| type: 'graph', |
| coordinateSystem: 'cartesian2d', |
| data: data, |
| links: links, |
| edgeSymbol: ['none', 'arrow'], |
| edgeSymbolSize: 5, |
| legendHoverLink: false, |
| lineStyle: { |
| color: '#333' |
| }, |
| itemStyle: { |
| borderWidth: 1, |
| borderColor: '#333' |
| }, |
| label: { |
| color: '#333', |
| position: 'right' |
| }, |
| symbolSize: 10, |
| animationDelay: function (idx) { |
| return idx * 100; |
| } |
| }); |
| }); |
| |
| |
| myChart.setOption(option); |
| }); |