这篇文章主要讲述Echarts设置字体和线条的颜色相关操作笔记,希望文章对你有所帮助,主要是自己的在线笔记吧。我在前面先放各种修改前后图片颜色的对照,后面再详细介绍代码。这样更方便阅读及读者知道,是否对自己有所帮助,其重点是如何在模板动态网页或JSP网站中插入Echarts图片。
1.修改标题及背景颜色
2.设置柱形图颜色
3.修改坐标轴字体颜色
4.设置Legend颜色
5.修改折线颜色
7.柱状图文本鼠标浮动上的颜色设置
推荐文章:
http://echarts.baidu.com/echarts2/doc/example/bar14.html
http://echarts.baidu.com/echarts2/doc/example/bar15.html
官方文档:
http://echarts.baidu.com/echarts2/doc/example.html
http://echarts.baidu.com/demo.html#gauge-car
ECharts系列 - 柱状图(条形图)实例一 JSP
1.修改标题的颜色及背景
Echarts绘制柱状图及修改标题颜色的代码如下所示:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>ECharts</title> <script src="echarts.min.js"></script> </head> <body> <div id="main" style="width: 600px;height:400px;"></div> <script type="text/javascript"> var myChart = echarts.init(document.getElementById('main')); var labelRight = { normal: { position: 'right' } }; var labelRight = { normal: { position: 'right' } }; var option = { title: { text: '十大高耗水行业用水量八减两增 ', //标题 backgroundColor: '#ff0000', //背景 subtext: '同比百分比(%)', //子标题 textStyle: { fontWeight: 'normal', //标题颜色 color: '#408829' }, x:"center" }, legend: { data:['蒸发量','降水量','最低气温','最高气温'] }, tooltip : { trigger: 'axis', axisPointer : { // 坐标轴指示器,坐标轴触发有效 type : 'shadow' // 默认为直线,可选为:'line' | 'shadow' } }, grid: { top: 80, bottom: 80 }, xAxis: { //设置x轴 type : 'value', position: 'top', splitLine: {lineStyle:{type:'dashed'}}, max:'4', }, yAxis: { type : 'category', axisLine: {show: false}, axisLabel: {show: false}, axisTick: {show: false}, splitLine: {show: false}, data : ['石油加工、炼焦和核燃料加工业' , '非金属矿物制品业', '化学原料和化学制品制造业', '有色金属冶炼和压延加工业', '造纸和纸制品业', '纺织业', '电力、热力生产和供应业', '非金属矿采选业', '黑色金属冶炼和压延加工业', '煤炭开采和洗选业' ] }, series : [ { name: '幅度 ', type: 'bar', stack: '总量', label: { normal: { show: true, formatter: '{b}' } }, data:[ {value: 0.2, label: labelRight,itemStyle:{ normal:{color:'gray'} } }, {value: 0.7, label: labelRight,itemStyle:{ normal:{color:'gray'} }}, {value: -1.1, label: labelRight,itemStyle:{ normal:{color:'gray'} }}, {value: -1.3, label: labelRight,itemStyle:{ normal:{color:'gray'} }}, {value: -1.9, label: labelRight,itemStyle:{ normal:{color:'gray'} }}, {value: -2.9, label: labelRight,itemStyle:{ normal:{color:'gray'} }}, {value: -3.0, label: labelRight,itemStyle:{ normal:{color:'gray'} }}, {value: -4.2, label: labelRight,itemStyle:{ normal:{color:'gray'} }}, {value: -4.9, label: labelRight,itemStyle:{ normal:{color:'gray'} }}, {value: -5.8, label: labelRight,itemStyle:{ normal:{color:'gray'} }}, ] } ] }; myChart.setOption(option); window.addEventListener("resize",function() { myChart.resize(); }); </script> <div id="main2" style="width: 600px;height:400px;"> </div> </body> </html>其中设置颜色标题的核心代码:
title: { text: '十大高耗水行业用水量八减两增 ', //标题 backgroundColor: '#ff0000', //背景 subtext: '同比百分比(%)', //子标题 textStyle: { fontWeight: 'normal', //标题颜色 color: '#408829' }, x:"center" },输出如下图所示:
2.设置柱形图颜色
设置柱形图颜色代码如下所示,其中颜色表参考:RGB颜色查询对照表
series : [ { name: '幅度 ', type: 'bar', stack: '总量', label: { normal: { show: true, formatter: '{b}' } }, data:[ {value: 0.2, label: labelRight,itemStyle:{ normal:{color:'bule'} } }, {value: 0.7, label: labelRight,itemStyle:{ normal:{color:'green'} }}, {value: -1.1, label: labelRight,itemStyle:{ normal:{color:'red'} }}, {value: -1.3, label: labelRight,itemStyle:{ normal:{color:'#FFB6C1'} }}, {value: -1.9, label: labelRight,itemStyle:{ normal:{color:'#EE7AE9y'} }}, {value: -2.9, label: labelRight,itemStyle:{ normal:{color:'#C1FFC1'} }}, {value: -3.0, label: labelRight,itemStyle:{ normal:{color:'#AB82FF'} }}, {value: -4.2, label: labelRight,itemStyle:{ normal:{color:'#836FFF'} }}, {value: -4.9, label: labelRight,itemStyle:{ normal:{color:'#00FA9A'} }}, {value: -5.8, label: labelRight,itemStyle:{ normal:{color:'#CD00CD'} }}, ] }输出如下图所示:
3.修改坐标字体颜色
完整代码:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>ECharts</title> <!-- 引入 echarts.js --> <script src="echarts.min.js"></script> </head> <body> <!-- 为ECharts准备一个具备大小(宽高)的Dom --> <div align="left" id="main" style="width: 900px;height:500px;"></div> <script type="text/javascript"> // 基于准备好的dom,初始化echarts实例 var myChart = echarts.init(document.getElementById('main')); option = { title: { text: '2016年上半年全国规模以上工业企业用水情况(单位:亿立方米)', subtext: '数据来源:国家统计局', x: 'center', }, tooltip : { trigger: 'axis', axisPointer : { // 坐标轴指示器,坐标轴触发有效 type : 'shadow' // 默认为直线,可选为:'line' | 'shadow' } }, legend: { orient: 'vertical', x: 'left', y:"top", padding:50, data: ['用水量', '减少量',] }, grid: { left: '10', right: '60', bottom: '3%', height: '30%', top: '20%', containLabel: true }, xAxis: { type: 'value', //设置坐标轴字体颜色和宽度 axisLine:{ lineStyle:{ color:'yellow', width:2 } }, }, yAxis: { type: 'category', //设置坐标轴字体颜色和宽度 axisLine:{ lineStyle:{ color:'yellow', width:2 } }, data: ['东部地区','中部地区','西部地区',] }, series: [ { name: '用水量', type: 'bar', stack: '总量', label: { normal: { show: true, position: 'insidelift' } }, data: [109.2, 48.2, 41 ] }, { name: '减少量', type: 'bar', stack: '总量', label: { normal: { show: true, position: 'insidelift' } }, data: [1.638, 1.0122, 1.025] }, ] }; myChart.setOption(option); </script> </body> </html>核心代码如下所示:
yAxis: { type: 'category', //设置坐标轴字体颜色和宽度 axisLine:{ lineStyle:{ color:'yellow', width:2 } }, data: ['东部地区','中部地区','西部地区',] },输出如下图所示:
4.设置了legend颜色
核心代码代码如下:
legend: { orient: 'vertical', //data:['用水量','减少量'], data:[ {name: '用水量', textStyle:{color:"#25c36c"} }, {name:'减少量', textStyle:{color:"#25c36c"}} ], x: 'left', y:"top", padding:50, },输出如下图所示:
5.修改折现颜色
代码如下所示:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>ECharts</title> <!-- 引入 echarts.js --> <script src="echarts.min.js"></script> </head> <body> <!-- 为ECharts准备一个具备大小(宽高)的Dom --> <div id="main" style="width: 600px;height:400px;"></div> <script type="text/javascript"> // 基于准备好的dom,初始化echarts实例 var myChart = echarts.init(document.getElementById('main')); var timeData = [ '海水','陆地苦咸水','矿井水', '雨水','再生水','海水淡化水']; timeData = timeData.map(function (str) { return str.replace('2016/', ''); }); option = { title: { text: '2016年上半年全国工业用水增长率', x: 'center' }, tooltip: { trigger: 'axis', axisPointer: { animation: false } }, legend: { data:['常规用水量','非常规用水量'], x:"right", y:"top", padding: 50 }, grid: [{ left: 100, right: 100, height: '20%', top: '25%' }, { left: 100, right: 100, top: '65%', height: '25%' }], xAxis : [ { type : 'category', boundaryGap : false, axisLine: {onZero: true}, data:['地表淡水','地下淡水','自来水','其他水'] }, { gridIndex: 1, type : 'category', boundaryGap : false, axisLine: {onZero: true}, data: timeData, position: 'top' } ], yAxis : [ { name : '常规用水量(%)', type : 'value', max : 5 }, { gridIndex: 1, name : '非常规用水量(%)', type : 'value', inverse: true } ], series : [ { name:'常规用水量', type:'line', symbolSize: 8, //设置折线图颜色 itemStyle : { normal : { lineStyle:{ color:'#ff0000' } } }, hoverAnimation: false, data:[-3.8,-9.0,0.0,4.5 ] }, { name:'非常规用水量', type:'line', xAxisIndex: 1, yAxisIndex: 1, symbolSize: 8, //设置折线图颜色 itemStyle : { normal : { lineStyle:{ color:'#0000ff' } } }, hoverAnimation: false, data: [-5.8,-2.5,6.2,50.3,3.5,-3.3 ] } ] }; myChart.setOption(option); </script> </body> </html>其中修改折现颜色代码如下所示:
series : [ { name:'常规用水量', type:'line', symbolSize: 8, itemStyle : { normal : { lineStyle:{ color:'#ff0000' } } }, hoverAnimation: false, data:[-3.8,-9.0,0.0,4.5 ] }, { name:'非常规用水量', type:'line', xAxisIndex: 1, yAxisIndex: 1, itemStyle : { normal : { lineStyle:{ color:'#ff0000' } } }, symbolSize: 8, hoverAnimation: false, data: [-5.8,-2.5,6.2,50.3,3.5,-3.3 ] } ]修改图如下所示:
6.修改油表盘字体大小及颜色
核心代码如下所示:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>ECharts</title> <!-- 引入 echarts.js --> <script src="echarts.min.js"></script> </head> <body> <!-- 为ECharts准备一个具备大小(宽高)的Dom --> <div id="main" style="width: 800px;height:600px;"></div> <script type="text/javascript"> // 基于准备好的dom,初始化echarts实例 var myChart = echarts.init(document.getElementById('main')); option = { tooltip : { formatter: "{a} <br/>{c}{b}" }, toolbox: { show: true, feature: { restore: {show: true}, saveAsImage: {show: true} } }, series : [ { name: '东部地区', type: 'gauge', z: 3, min: 0, max: 120, splitNumber: 12, radius: '50%', axisLine: { // 坐标轴线 lineStyle: { // 属性lineStyle控制线条样式 width: 10 } }, axisTick: { // 坐标轴小标记 length: 15, // 属性length控制线长 lineStyle: { // 属性lineStyle控制线条样式 color: 'auto' } }, splitLine: { // 分隔线 length: 20, // 属性length控制线长 lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式 color: 'auto' } }, title : { textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE fontWeight: 'bolder', fontSize: 20, fontStyle: 'italic', color:"#25c36c" } }, detail : { textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE fontWeight: 'bolder' } }, data:[{value: 109.2, textStyle:{color:"#25c36c"}, name: ' 东部地区\n 用水量'}] }, { name: '下降', type: 'gauge', center : ['50%', '65%'], // 默认全局居中 radius : '25%', min: 0, max: 2, startAngle: 315, endAngle: 225, splitNumber: 2, axisLine: { // 坐标轴线 lineStyle: { // 属性lineStyle控制线条样式 width: 8 } }, axisTick: { // 坐标轴小标记 show: false }, axisLabel: { formatter:function(v){ switch (v + '') { case '0' : return '0'; case '1' : return '下降'; case '2' : return '1.5%'; } } }, splitLine: { // 分隔线 length: 15, // 属性length控制线长 lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式 color: 'auto' } }, pointer: { width:2 }, title: { show: false }, detail: { show: false }, data:[{value: 2, name: '下降'}] }, { name: '中部地区', type: 'gauge', center: ['20%', '55%'], // 默认全局居中 radius: '35%', min:0, max:72, endAngle:45, splitNumber:8, axisLine: { // 坐标轴线 lineStyle: { // 属性lineStyle控制线条样式 width: 8 } }, axisTick: { // 坐标轴小标记 length:12, // 属性length控制线长 lineStyle: { // 属性lineStyle控制线条样式 color: 'auto' } }, splitLine: { // 分隔线 length:20, // 属性length控制线长 lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式 color: 'auto' } }, pointer: { width:5 }, title: { offsetCenter: [0, '-30%'], // x, y,单位px }, detail: { textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE fontWeight: 'bolder' } }, data:[{value: 48.2, name: ' 中部地区ddd',textStyle:{color:"#ffff00"} }] }, { name: '下降', type: 'gauge', center : ['20%', '62%'], // 默认全局居中 radius : '25%', min: 0, max: 2, startAngle: 315, endAngle: 225, splitNumber: 2, axisLine: { // 坐标轴线 lineStyle: { // 属性lineStyle控制线条样式 width: 8 } }, axisTick: { // 坐标轴小标记 show: false }, axisLabel: { formatter:function(v){ switch (v + '') { case '0' : return '0'; case '1' : return '下降'; case '2' : return '2.1%'; } } }, splitLine: { // 分隔线 length: 15, // 属性length控制线长 lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式 color: 'auto' } }, pointer: { width:2 }, title: { show: false }, detail: { show: false }, data:[{value: 2, name: '下降'}] }, { name: '西部地区', type: 'gauge', center: ['85%', '55%'], // 默认全局居中 radius: '35%', min:0, max:72, endAngle:45, splitNumber:8, axisLine: { // 坐标轴线 lineStyle: { // 属性lineStyle控制线条样式 width: 8 } }, axisTick: { // 坐标轴小标记 length:12, // 属性length控制线长 lineStyle: { // 属性lineStyle控制线条样式 color: 'auto' } }, splitLine: { // 分隔线 length:20, // 属性length控制线长 lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式 color: 'auto' } }, pointer: { width:5 }, title: { offsetCenter: [0, '-30%'], // x, y,单位px }, detail: { textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE fontWeight: 'bolder' } }, data:[{value: 41, name: ' 西部地区\n 用水量', textStyle:{color:"#ffff00"} }] }, { name: '下降', type: 'gauge', center : ['85%', '62%'], // 默认全局居中 radius : '25%', min: 0, max: 2, startAngle: 315, endAngle: 225, splitNumber: 2, axisLine: { // 坐标轴线 lineStyle: { // 属性lineStyle控制线条样式 width: 8 } }, axisTick: { // 坐标轴小标记 show: false }, axisLabel: { formatter:function(v){ switch (v + '') { case '0' : return '0'; case '1' : return '下降'; case '2' : return '2.5%'; } } }, splitLine: { // 分隔线 length: 15, // 属性length控制线长 lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式 color: 'auto' } }, pointer: { width:2 }, title: { show: false }, detail: { show: false }, data:[{value: 2, name: '下降'}] } ] }; /* app.timeTicket = setInterval(function (){ myChart.setOption(option,true); },2000); */ myChart.setOption(option); </script> </body> </html>修改核心代码:
title : { textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE fontWeight: 'bolder', fontSize: 20, color:"#7FFFD4" } }, detail : { textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE fontWeight: 'bolder' } }, data: { value: 109.2, name: '\n\n 东部地区\n 用水量'}] },核心代码如下所示:
7.柱状图文本鼠标浮动上的颜色设置
需要修改的内容如下图所示:
代码如下所示:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>ECharts</title> <script src="echarts.min.js"></script> </head> <body> <div id="main" style="width: 600px;height:400px;"></div> <script type="text/javascript"> var myChart = echarts.init(document.getElementById('main')); var labelRight = { normal: { position: 'right' } }; var labelRight = { normal: { position: 'right' } }; var option = { title: { text: ' 十大高耗水行业用水量八减两增 ', subtext: '同比百分比(%)', }, tooltip : { trigger: 'axis', axisPointer : { // 坐标轴指示器,坐标轴触发有效 type : 'shadow' // 默认为直线,可选为:'line' | 'shadow' } }, grid: { top: 80, bottom: 80 }, xAxis: { type : 'value', position: 'top', splitLine: {lineStyle:{type:'dashed'}}, max:'4', }, yAxis: { type : 'category', axisLine: {show: false}, axisLabel: {show: false}, axisTick: {show: false}, splitLine: {show: false}, data : ['石油加工、炼焦和核燃料加工业' , '非金属矿物制品业', '化学原料和化学制品制造业', '有色金属冶炼和压延加工业', '造纸和纸制品业', '纺织业', '电力、热力生产和供应业', '非金属矿采选业', '黑色金属冶炼和压延加工业', '煤炭开采和洗选业'] }, series : [ { name:'幅度 ', type:'bar', stack: '总量', label: { normal: { show: true, formatter: '{b}' } }, data:[ {value: 0.2, label: labelRight, itemStyle:{ normal:{color:'gray'} } }, {value: 0.7, label: labelRight}, {value: -1.1, label: labelRight}, {value: -1.3, label: labelRight}, {value: -1.9, label: labelRight, itemStyle:{ normal: { color:'#28c6de', label: {textStyle:{color:'#00ff00'}} } } }, {value: -2.9, label: labelRight}, {value: -3.0, label: labelRight}, {value: -4.2, label: labelRight}, {value: -4.9, label: labelRight}, {value: -5.8, label: labelRight}, ] } ] }; myChart.setOption(option); </script> </body> </html>核心代码:
data:[ {value: 0.2, label: labelRight, itemStyle:{ normal:{color:'gray'} } }, {value: 0.7, label: labelRight}, {value: -1.1, label: labelRight}, {value: -1.3, label: labelRight}, {value: -1.9, label: labelRight, itemStyle:{ normal: { color:'#28c6de', label: {textStyle:{color:'#00ff00'}} } } }, {value: -2.9, label: labelRight}, {value: -3.0, label: labelRight}, {value: -4.2, label: labelRight}, {value: -4.9, label: labelRight}, {value: -5.8, label: labelRight}, ]
输出结果:
自适应大小,添加如下代码:
// 为echarts对象加载数据 myChart.setOption(option); // 加上这一句即可 window.onresize = myChart.resize;
或者:
window.addEventListener("resize",function(){ option.chart.resize(); });
最后文章对你有所帮助,和学生相处就是不错,但enjoy myself~
(By:Eastmount 2016-10-17 中午1点半 )