bkjxxxw/WebContent/static/echarts-2.2.7/doc/example/topic/aqi-china/js/option3.js

213 lines
8.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

function option3 (name) {
var count = 30;
var key = name != 'pm25' ? name : 'pm2_5';
var nameWorst = [];
var dataWorst = data[name].slice(-count);
for (var i = 0, l = dataWorst.length; i < l; i++) {
nameWorst.push(dataWorst[i].name);
}
var nameBest = [];
var dataBest = data[name].slice(0,count);
dataBest.reverse();
for (var i = 0, l = dataBest.length; i < l; i++) {
dataBest[i] = {
name: dataBest[i].name,
value: - dataBest[i].value
};
nameBest.push(dataBest[i].name);
}
var option = {
title : {
text: '空气质量排行榜('+name+' 前后30名',
subtext: 'data from PM25.in',
sublink: 'http://www.pm25.in',
itemGap: 5,
x:'center'
},
tooltip : {
trigger: 'item'
},
toolbox: {
show : true,
//orient : 'vertical',
//x: 'right',
//y: 'center',
feature : {
mark : {show: true},
dataView : {show: true, readOnly: false},
//magicType: {show: true, type: ['line', 'bar']},
restore : {show: true},
saveAsImage : {show: true}
}
},
dataRange: {
orient: 'horizontal',
precision: name != 'co' ? 0 : 2,
min : data[name + 'Min'],
max : data[name + 'Max'],
text:['高','低'], // 文本,默认为数值文本
calculable : true,
x: '45%',
y: 640,
itemWidth:35,
color: ['maroon','purple','red','orange','yellow','lightgreen'],
textStyle:{
color:'#fff'
}
},
grid:{
x: 0,
y: 50,
x2: 0,
y2: 0,
borderWidth:0
},
xAxis : [
{
type : 'value',
position: 'top',
splitLine: {show:false},
axisLine: {show:false},
axisLabel : {show:false},
min: 0,
max: data[name+'Max']
},
{
type : 'value',
position: 'bottom',
splitLine: {show:false},
axisLine: {show:false},
min: -data[name+'Max'],
max: 0,
axisLabel:{
show:false,
formatter: function (v){
return -v;
}
}
}
],
yAxis : [
{
type : 'category',
splitLine: {show:false},
axisLine: {show:false},
axisLabel : {show:false},
data : nameWorst
},
{
type : 'category',
splitLine: {show:false},
axisLine: {show:false},
axisLabel : {show:false},
data : nameBest
}
],
animation:false,
series : [
{
name: '空气质量('+name+'',
type: 'map',
mapType: 'china',
itemStyle:{normal:{label:{show:false}}},
//roam: true,
mapLocation: {
x: '45%',
y: 200,
width: '45%'
},
data:[
{name:'西藏', value:data.cityToData['拉萨'][key]},
{name:'青海', value:data.cityToData['西宁'][key]},
{name:'宁夏', value:data.cityToData['银川'][key]},
{name:'海南', value:data.cityToData['海口'][key]},
{name:'甘肃', value:data.cityToData['兰州'][key]},
{name:'贵州', value:data.cityToData['贵阳'][key]},
{name:'新疆', value:data.cityToData['乌鲁木齐'][key]},
{name:'云南', value:data.cityToData['昆明'][key]},
{name:'重庆', value:data.cityToData['重庆'][key]},
{name:'吉林', value:data.cityToData['长春'][key]},
{name:'山西', value:data.cityToData['太原'][key]},
{name:'天津', value:data.cityToData['天津'][key]},
{name:'江西', value:data.cityToData['南昌'][key]},
{name:'广西', value:data.cityToData['南宁'][key]},
{name:'陕西', value:data.cityToData['西安'][key]},
{name:'黑龙江', value:data.cityToData['哈尔滨'][key]},
{name:'内蒙古', value:data.cityToData['呼和浩特'][key]},
{name:'安徽', value:data.cityToData['合肥'][key]},
{name:'北京', value:(data.cityToData['北京'] || {})[key]},
{name:'福建', value:data.cityToData['福州'][key]},
{name:'上海', value:data.cityToData['上海'][key]},
{name:'湖北', value:data.cityToData['武汉'][key]},
{name:'湖南', value:data.cityToData['长沙'][key]},
{name:'四川', value:data.cityToData['成都'][key]},
{name:'辽宁', value:data.cityToData['沈阳'][key]},
{name:'河北', value:data.cityToData['石家庄'][key]},
{name:'河南', value:data.cityToData['郑州'][key]},
{name:'浙江', value:data.cityToData['杭州'][key]},
{name:'山东', value:data.cityToData['济南'][key]},
{name:'江苏', value:data.cityToData['南京'][key]},
{name:'广东', value:data.cityToData['广州'][key]}
]
},
{
name: '空气质量最差('+name+'',
type: 'bar',
itemStyle : {
normal : {
color : (function (){
var zrColor = require('zrender/tool/color');
return zrColor.getLinearGradient(
0, 80, 0, 700,
//['orangered','yellow','lightskyblue']
[[0, 'purple'],[0.5, 'orangered'],[1, 'orange']]
)
})(),
label : {
show : true,
position: 'right',
formatter:'{b} : {c}'
}
}
},
data: dataWorst
},
{
name: '空气质量最好('+name+'',
type: 'bar',
tooltip:{
trigger: 'item',
formatter : function (v) {
return v[0] + '<br/>' + v[1] + ' : ' + (-v[2]);
}
},
xAxisIndex:1,
yAxisIndex:1,
barMinHeight: 5,
itemStyle : {
normal : {
color : (function (){
var zrColor = require('zrender/tool/color');
return zrColor.getLinearGradient(
0, 80, 0, 700,
//['orangered','yellow','lightskyblue']
[[0, 'lightskyblue'],[1, 'lightgreen']]
)
})(),
label : {
show : true,
position: 'left',
formatter: function (params) {
return params.name + ' : ' + (-params.value);
}
}
}
},
data: dataBest
}
]
};
//console.log(option);
return option;
}