ECharts图表图例11

ECharts图例(legend)是用于解释图表中不同系列数据的标识。

图例主要作用是提高图表可读性。比如在折线图展示天气温变化时,通过图例能快速区分各天对应的折线和柱状。

它有多种配置选项。可以设置位置,像放在图表的顶部、底部、左侧或右侧;还能调整样式,包括文字颜色、字体大小等。并且能够实现点击图例来控制对应系列的显示或隐藏,方便用户聚焦部分数据进行分析。

图例:

++代码:++

1.<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<script src="js/echarts.js"></script>

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Document</title>

</head>

<body>

<div id="main" style="width: 900px; height:600px"></div>

<script type="text/javascript">

var myChart= echarts.init(document.getElementById("main"));

var option = {

color:["red","green","blue","yellow","grey","#FA8072"],

tooltip:{

trigger:'axis'

},

legend:{

data:['蒸发量','降水量','最低气温','最高气温']

},

toolbox:{

show:true,

feature:{

mark:{show:true},

dataView:{show:true},

magicType:{show:true, type:['line','bar']},

restore:{show:true},

saveAsImage:{show:true}

}

},

xAxis:[

{

type:'category',

position:'bottom',

boundaryGap:true,

show:true,

axisLine:{

linestyle:{

color:'green',

type:'solid',

width:2

}

},

axisTick:{

show:true,

length:10,

linestyle:{

color:'red',

type:'solid',

width:2

}

},

axisLabel:{

show:true,

interval:'auto',

rotate:45,

margin:8,

formatter:'{value}月',

textStyle:{

color:'blue',

fontFamily:'sans-serif',

fontSize:15,

fontstyle:'italic',

fontweight:'bold'

}

},

splitLine:{

show:true,

linestyle:{

color:'#483d8b',

type:'dashed',

width:1

}

},

splitArea:{

show:true,

areaStyle:{

color:['rgba(144,238,144,0.3)','rgba(135,200,250,0.3)']

}

},

data:[

'1','2','3','4','5',

{

value:'6',

textstyle:{

color:'red',

fontSize:30,

fontStyle:'normal',

fontWeight:'bold'

}

},

'7','8','9', '10','11','12'

]

}

],

yAxis:[

{

type:'value',

position:'left',

boundaryGap:[0,0.1],

axisLine:{

show:true,

lineStyle:{

color:'red',

type:'dashed',

width:2

}

},

axisTick:{

show:true,

length:10,

linestyle:{

color:'green',

type:'solid',

width:2

}

},

axisLabel:{

show:true,

interval:'auto',

rotate:-45,

margin:18,

formatter:'{value}ml',

textStyle:{

color:'#1e90ff',

fontFamily:'verdana',

fontSize:10,

fontStyle:'normal',

fontweight:'bold'

}

},

splitLine:{

show:true,

linestyle:{

color:'#483d8b',

type:'dotted',

width:2

}

},

splitArea:{

show:true,

areaStyle:{

color:['rgba(205,92,92,0.3)',

'rgba(255,215,0,0.3)']

}

}

},

{

type:'value',

splitNumber:10,

axisLabel:{

formatter:function(value){

return value+'℃'

}

},

splitLine:{

show:false

}

}

],

series:[

{

name:'蒸发量',type:'bar',

data:[2.0,4.9,7.0,23.2,25.6,76.7,135.6,162.2,32.6,20.0,6.4,3.3]

},

{

name:'降水量',type:'bar',

data:[2.6,5.9,9.0,26.4,28.7,70.7,175.6,182.2,48.7,18.8,6.0,2.3]

},

{

name:'最低气温',type:'line',

smooth:true,

yAxisIndex:1,

data:[2.0,2.2,3.3,4.5,6.3,10.2,20.3,23.4,23.0,16.5,12.0,6.23]

},

{

name:'最高气温',type:'line',

smooth:true,

yAxisIndex:1,

data:[12.0,12.2,13.3,14.5,16.3,18.2,28.3,33.4,31.0,24.5,18.0,16.2]

}

]

};

myChart.setOption(option);

</script>

</body>

</html >

结果:

2.<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<script src="js/echarts.js"></script>

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Document</title>

</head>

<body>

<div id="main" style="width: 900px; height:600px"></div>

<script type="text/javascript">

var myChart= echarts.init(document.getElementById("main"));

var option ={

grid:{

show:true,

x:15,y:66,

width:'93%',height:'80%',

x2:100,y2:100,

borderWidth:5,

borderColor:'blue',

bordergroundColor:'#f7f7f7',

},

title:{

text:'未来一周气温变化',

},

tooltip:{

trigger:'axis'

},

legend:{

data:['最高气温','最低气温']

},

toolbox:{

show:true,

feature:{

mark:{show:true},

dataView:{show:true,readOnly:false},

magicType:{show:true,type:['line','bar']},

restore:{show:true},

saveAsImage:{show:true}

}

},

calulable:true,

xAxis:[

{

show:false,

smooth:true,

type:'category',

boundaryGap:false,

data:['周一','周二','周三','周四','周五','周六','周日']

}

],

yAxis:[

{

show:false,

type:'value',

axisLabel:{formatter:'{value} ℃'}

}

],

series:[

{

name:'最高气温',smooth:true,

type:'line',data:[11,11,15,13,12,13,10],

markPoint:{

data:[

{type:'max',name:'最大

值'},

{type:'min',name:'最小值'}

]

},

markLine:{

data:[

{type:'average',name:'平均值'}

]

}

},

{

name:'最低气温',smooth:true,

type:'line',data:[1,-2,2,5,3,2,0],

markPoint:{

data:[

{name:'周最低',value:-2,xAxis:1,yAxis:-1.5}

]

},

markLine:{

data:[

{type:'average',name:'平均值'}

]

}

}

]

};

myChart.setOption(option);

</script>

</body>

</html>

结果截图:

相关推荐
花开富贵贼富贵12 分钟前
计算机网络技术学习-day4《路由器配置》
网络·智能路由器·php
Faith-小浩浩24 分钟前
macos 多个版本的jdk
java·macos·jdk
喵手30 分钟前
Java异常处理最佳实践:如何避免捕获到不必要的异常?
java·后端·java ee
阿里云大数据AI技术31 分钟前
MaxCompute聚簇优化推荐功能发布,单日节省2PB Shuffle、7000+CU!
大数据
猿java42 分钟前
精通MySQL却不了解OLAP和 OLTP,正常吗?
java·后端·面试
渣哥1 小时前
面试官:为什么阿里巴巴要重写HashMap?ConcurrentHashMap哪里不够用?
java
喵手1 小时前
Java中的HashMap:你了解它的工作原理和最佳实践吗?
java·后端·java ee
weixin_456588151 小时前
【java面试day16】mysql-覆盖索引
java·mysql·面试
心月狐的流火号1 小时前
计算机I/O模式演进与 Java NIO 直接内存
java·操作系统