类温度计的展示
配置项如下
var myData = [{
name: '1',
value: 18.9
},{
name: '2',
value: 38
},{
name: '3',
value: 72
},{
name: '4',
value: 0
},{
name: '5',
value: 25
},{
name: '总体积',
value: 167
}];
var xaxisData = {
type: 'category',
gridIndex: 0,
axisTick:{
show: false
},
axisLine:{
show: false
}
};
var yaxisData = {
type: 'value',
splitLine:{
show: false
},
axisTick:{
inside: true,
length : 18
},
axisLabel:{
show: false,
inside: true,
}
};
var sData = {
type: 'scatter',
data:[0,20,40,60,80,100],
itemStyle:{
color: 'rgba(0,0,0,0)'
},
label:{
show: true,
color: '#2e57ac',
fontSize: 16
}
}
var barData = {
data: [10],
type: 'bar',
itemStyle:{
color: '#ff3232'
},
xAxisIndex: 0,
yAxisIndex: 0,
zlevel: -1
}
function getXData(node, gridIndex){
var obj = JSON.parse(JSON.stringify(xaxisData));
var val = node.value;
obj.data = [node.name];
obj.gridIndex = gridIndex;
obj.axisLabel = {
formatter: function(param){
var s = [param,val].join('\n');
if(param == '总体积'){
s = '{t1|'+s+'}';
}
return s;
},
rich:{
t1:{
color: 'red'
}
}
};
return obj;
}
function getyData(gridIndex,position,ymax){
var obj = JSON.parse(JSON.stringify(yaxisData));
obj.gridIndex = gridIndex;
if(position){
obj.position = position;
}
obj.min = 0;
if(ymax){
if(ymax % 100 === 0){
obj.max = ymax;
}else{
obj.max = (parseInt(ymax/100) + 1) * 100;
}
obj.interval = obj.max/5;
}else{
obj.max = 100;
}
return obj;
}
function getScatterData(gridIndex,ymax){
var obj = JSON.parse(JSON.stringify(sData));
obj.xAxisIndex = gridIndex;
obj.yAxisIndex = gridIndex;
if(ymax){
var max = 0;
if(ymax % 100 === 0){
max = ymax;
}else{
max = (parseInt(ymax/100) + 1) * 100;
}
var step = max/5;
obj.data = [step*0,step*1,step*2,step*3,step*4,step*5];
}
return obj;
}
function getBarData(node,gridIndex,color){
var obj = JSON.parse(JSON.stringify(barData));
obj.data = [node.value];
obj.xAxisIndex = gridIndex;
obj.yAxisIndex = gridIndex;
if(color){
obj.itemStyle.color = color;
}
return obj;
}
//console.log( getyData(5,'right',200));
option = {
grid:[
{left: '5%', width: '10%', },
{left: '20%', width: '10%',},
{left: '35%', width: '10%',},
{left: '50%', width: '10%',},
{left: '65%', width: '10%',},
{left: '80%', width: '10%',}
],
xAxis: [
getXData(myData[0],0),
getXData(myData[1],1),
getXData(myData[2],2),
getXData(myData[3],3),
getXData(myData[4],4),
getXData(myData[5],5),
],
yAxis: [
getyData(0),
getyData(1),
getyData(2),
getyData(3),
getyData(4),
getyData(5, 'left', myData[5].value),
getyData(0,'right'),
getyData(1,'right'),
getyData(2,'right'),
getyData(3,'right'),
getyData(4,'right'),
getyData(5,'right', myData[5].value)
],
series: [
getScatterData(0),
getScatterData(1),
getScatterData(2),
getScatterData(3),
getScatterData(4),
getScatterData(5, myData[5].value),
getBarData(myData[0],0),
getBarData(myData[1],1),
getBarData(myData[2],2),
getBarData(myData[3],3),
getBarData(myData[4],4),
getBarData(myData[5],5,'yellow'),
]
};