js下载链接:主题下载 - Apache ECharts
先导入js脚本,然后一一应用,其中jquery是必须要使用的,不然没有任何效果
代码末尾再配置好动态切换
完整代码如下
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<!--引入ECharts脚本-->
<script src="js/jquery-3.3.1.js"></script>
<script src="js/echarts.js"></script>
<script src="js/infographic.js"></script>
<script src="js/dark.js"></script>
<script src="js/macarons.js"></script>
<script src="js/roma.js"></script>
<script src="js/shine.js"></script>
<script src="js/vintage.js"></script>
</head>
<body>
<div id = "themeArea"><label>echarts主题切换:</label></div>
<div>
<select name = "you select thrme:"id = "selection">
<option value = "dark">dark</option>
<option value = "infographic">infographic</option>
<option value = "macarons">macarons</option>
<option value = "roma">roma</option>
<option value = "shine">shine</option>
<option value = "vintage">vintage</option>
</select>
<!---为ECharts准备一个具备大小(宽高)的DOM-->
<div id="main1" style="width: 800px; height: 350px"></div>
<div id="main2" style="width: 800px; height: 350px"></div>
<script type="text/javascript">
//基于准备好的DOM,初始化ECharts图表
var myChart1 = echarts.init(document.getElementById("main1"));
//指定图表的配置项和数据
var waterMarkText = '柒';
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
canvas.width=canvas.height=100;
ctx.textAlign='center';
ctx.textBaseline='middle';
ctx.globalAlpha=10;
ctx.font = '20px Microsoft Yahei';
ctx.translate(50,50);
ctx.fillText(waterMarkText,0,0);
var option1 = {
backgroundColor:{type:'patten',image:canvas,repeat:'repeat'},
title: {
text: '王者荣耀英雄数值',
},
legend: {
data: ['生命','物理', '法强','物抗','法抗','移速'],
type:'scroll',
width:'20%'
},
//鼠标移动到指定位置显示数据
tooltip: {
confine:true,
enterable:true,
},
toolbox: {
show: true,
feature: {
mark: { show: true },
dataView: { show: true, readOnly: false },
magicType: { show: true, type: ['line', 'bar'] },
restore: { show: true },
saveAsImage: { show: true },
},
},
calculable: true,
radar:{
indicator:[
{name:'法力值',max:370},
{name:'物理',max:370},
{name:'法强',max:370},
{name:'物抗',max:370},
{name:'法抗',max:370},
{name:'移速',max:370},
],
},
series: [
{
center:['10%,55%'],
name:'radarpanel',
type:'radar',
//鼠标移动到指定位置显该组数据高亮显示
itemStyle:{
normal:{lineStyle:{width:1},opacity:0.2},
emphasis:{lineStyle:{width:5},opacity:1}
},
data:[
{
name:'司空震',
value:[30,170,166,85,50,370],
label:{
show:true
}
},
{
name:'狂铁',
value:[90,166,80,95,50,380],
label:{
show:true
}
},
{
name:'夏洛特',
value:[50,150,100,101,50,390],
label:{
show:true
}
},
]
}
]
};
//使用刚指定的配置项和数据显示图表
myChart1.setOption(option1);
var myChart2 = echarts.init(document.getElementById("main2"));
var option2 = {
backgroundColor:{type:'patten',image:canvas,repeat:'repeat'},
legend: {
data: ['生命','物理', '法强','物抗','法抗','出场率'],
type:'scroll',
width:'20%'
},
//鼠标移动到指定位置显示数据
tooltip: {
confine:true,
enterable:true,
},
toolbox: {
show: true,
feature: {
mark: { show: true },
dataView: { show: true, readOnly: false },
magicType: { show: true, type: ['line', 'bar'] },
restore: { show: true },
saveAsImage: { show: true },
},
},
calculable: true,
xAxis: [{
type: 'category',
data: ['生命','物理', '法强','物抗','法抗','移速']
},
],
yAxis: [{
type: 'value'
},
],
series: [
{
name:'司空震',
type:'bar',
data: [30,170,166,85,50,370]
},
{
name:'狂铁',
type:'bar',
data:[90,166,80,95,50,380]
},
{
name:'夏洛特',
type:'bar',
data: [50,150,100,101,50,390]
},
]
}
myChart2.setOption(option2);
// myChart1.group='group1';
// myChart2.group='group2';
// echarts.connect('group1');
$('#selection').change(function(){
echarts.connect([myChart1,myChart2]);
myChart2.dispose();
let yourtheme = $(this).val();
myChart2 = echarts.init(document.getElementById('main2'),yourtheme);
myChart2.setOption(option2)
myChart2.resize();
})
</script>
</body>
</html>
效果如下