2.2版本更换主题,我没能成功使用myChart.setTheme()这个方法,我找了很多,只有下面这一种方法可以
把这个目录下的主题文件拷贝到build\dist\theme下,没有theme文件夹,新建一个就行
然后在代码里这样写
<script type="text/javascript">
// 路径配置
require.config({
paths: {
echarts: './echarts-2.2.7/build/dist'
}
});
require(
[
'echarts',
'echarts/theme/dark',//加载主题
'echarts/chart/line', // 按需加载所需图表,如需动态类型切换功能,别忘了同时加载相应图表
'echarts/chart/bar', // 按需加载所需图表,如需动态类型切换功能,别忘了同时加载相应图表
'echarts/chart/pie'
],
function (ec,theme) {//把主题给传进来
var myChart = ec.init(document.getElementById('main'),theme);//设置主题
var option = {
title : {
text: '南丁格尔玫瑰图',
subtext: '纯属虚构',
x:'center'
},
tooltip : {
trigger: 'item',
formatter: "{a} <br/>{b} : {c} ({d}%)"
},
legend: {
x : 'center',
y : 'bottom',
data:['rose1','rose2','rose3','rose4','rose5','rose6','rose7','rose8']
},
toolbox: {
show : true,
feature : {
mark : {show: true},
dataView : {show: true, readOnly: false},
magicType : {
show: true,
type: ['pie', 'funnel']
},
restore : {show: true},
saveAsImage : {show: true}
}
},
calculable : true,
series : [
{
name:'半径模式',
type:'pie',
radius : [20, 110],
center : ['25%', 200],
roseType : 'radius',
width: '40%', // for funnel
max: 40, // for funnel
itemStyle : {
normal : {
label : {
show : false
},
labelLine : {
show : false
}
},
emphasis : {
label : {
show : true
},
labelLine : {
show : true
}
}
},
data:[
{value:10, name:'rose1'},
{value:5, name:'rose2'},
{value:15, name:'rose3'},
{value:25, name:'rose4'},
{value:20, name:'rose5'},
{value:35, name:'rose6'},
{value:30, name:'rose7'},
{value:40, name:'rose8'}
]
},
{
name:'面积模式',
type:'pie',
radius : [30, 110],
center : ['75%', 200],
roseType : 'area',
x: '50%', // for funnel
max: 40, // for funnel
sort : 'ascending', // for funnel
data:[
{value:10, name:'rose1'},
{value:5, name:'rose2'},
{value:15, name:'rose3'},
{value:25, name:'rose4'},
{value:20, name:'rose5'},
{value:35, name:'rose6'},
{value:30, name:'rose7'},
{value:40, name:'rose8'}
]
}
]
};
console.log(theme);
//myChart.setTheme('sakura');
myChart.setOption(option);
}
);
</script>
这种是模块化单文件来引入Echarts2.2的,我不会使用setTitle这个函数,也就无法实现官网的切换主题功能了,而且如果使用标签化单文件引入Echarts2.2的话,设置主题我也不会了,应该是要改JS主题文件,因为我看到里面有些都没设变量
Echart4的话就轻松多了
首先准备一些JS文件,jquery.min.js用来获取,theme主题文件我从官网下了几个
然后在代码里引用
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Echarts Theme Switch</title>
<script src="./js/jquery.min.js"></script>
<script src="./js/echarts.js" type="text/javascript" charset="utf-8"></script>
<script src = './js/theme/dark.js'></script>
<script src = './js/theme/macarons.js'></script>
<script src = './js/theme/purple-passion.js'></script>
</head>
<body>
<select name="" id="sel">
<option value="dark">dark</option>
<option value="macarons">purple-passion</option>
</select>
<button id = 'clear'>clear</button>
<div id = 'zhuzhuangtu' style="height:399px;"></div>
</body>
</html>
<script>
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('zhuzhuangtu'),'dark');
// 指定图表的配置项和数据
var option = {
title : {
text: '南丁格尔玫瑰图',
subtext: '纯属虚构',
x:'center'
},
tooltip : {
trigger: 'item',
formatter: "{a} <br/>{b} : {c} ({d}%)"
},
legend: {
x : 'center',
y : 'bottom',
data:['rose1','rose2','rose3','rose4','rose5','rose6','rose7','rose8']
},
toolbox: {
show : true,
feature : {
mark : {show: true},
dataView : {show: true, readOnly: false},
magicType : {
show: true,
type: ['pie', 'funnel']
},
restore : {show: true},
saveAsImage : {show: true}
}
},
calculable : true,
series : [
{
name:'半径模式',
type:'pie',
radius : [20, 110],
center : ['25%', 200],
roseType : 'radius',
width: '40%', // for funnel
max: 40, // for funnel
itemStyle : {
normal : {
label : {
show : false
},
labelLine : {
show : false
}
},
emphasis : {
label : {
show : true
},
labelLine : {
show : true
}
}
},
data:[
{value:10, name:'rose1'},
{value:5, name:'rose2'},
{value:15, name:'rose3'},
{value:25, name:'rose4'},
{value:20, name:'rose5'},
{value:35, name:'rose6'},
{value:30, name:'rose7'},
{value:40, name:'rose8'}
]
},
{
name:'面积模式',
type:'pie',
radius : [30, 110],
center : ['75%', 200],
roseType : 'area',
x: '50%', // for funnel
max: 40, // for funnel
sort : 'ascending', // for funnel
data:[
{value:10, name:'rose1'},
{value:5, name:'rose2'},
{value:15, name:'rose3'},
{value:25, name:'rose4'},
{value:20, name:'rose5'},
{value:35, name:'rose6'},
{value:30, name:'rose7'},
{value:40, name:'rose8'}
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
$('#sel').change(function(){
myChart.dispose();
let Theme = $(this).val();
// 基于准备好的dom,初始化echarts实例
myChart = echarts.init(document.getElementById('zhuzhuangtu'),'purple-passion');
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
});
</script>