echarts 柱状图的选中模式实现-被选中变色和再次选中为取消变色
方法:
function barCharShow(curr_dim,divId,result_data){
mutilDim(curr_dim);//维度信息
var paint = initEcharts(echarts,divId);
var option = buildStandardBar();
option.xAxis[0].data=result_data.xAxis_data;
option.series[0].data= result_data.data;
option.series[1].data=result_data.data_year;
option.series[2].data= result_data.data_mom;
paint.setOption(option);
var select_dim_id = "dim_"+(Number(curr_dim)+1);
// paint.on('click', function (params) {
12// option.series[params.seriesIndex].itemStyle.normal.color=function (param){
// if(params.dataIndex == param.dataIndex &&$("#parent_dim_"+curr_dim).val()!=params.name){
// return '#FF3333';
// }else{
// return '#00FFCC';
// }
// };
paint.on('click', function (params) {
option.series[].itemStyle.normal.color=function (param){//params.seriesIndex
if(params.dataIndex == param.dataIndex &&$("#parent_dim_"+curr_dim).val()!=params.name){
return '#FF3333';
}else{
return '#00FFCC';
}
};
option.series[].itemStyle.normal.color=function (param){
if(params.dataIndex == param.dataIndex &&$("#parent_dim_"+curr_dim).val()!=params.name){
return '#FF3333';
}else{
return '#999933';
}
};
option.series[].itemStyle.normal.color=function (param){
if(params.dataIndex == param.dataIndex &&$("#parent_dim_"+curr_dim).val()!=params.name){
return '#FF3333';
}else{
return '#66FF00';
}
};
paint.setOption(option);
//alert(params);
//$("#"+select_dim_id).val(params.data.key);
if($("#parent_dim_"+curr_dim).val()==params.name){
//取消维度选择
$("#parent_dim_"+curr_dim).val(null);
}else{
//维度选择
$("#parent_dim_"+curr_dim).val(params.name);
}
//获取全部维度-拼维度
var str="";
for (var i = 1; i <=curr_dim; i++) {
if($("#parent_dim_"+i).val()!=""&&$("#parent_dim_"+i).val()!=null){
if(i>1){
str+="-";
}
str+=$("#parent_dim_"+i).val();
}
}
$("#parent_mdim_"+curr_dim).val(str);
$("#"+select_dim_id).trigger("change");
//
});
}
柱状图:
//标注柱状图
function buildStandardBar(){
var option = {
color: ['#00FFCC','#999933','#66FF00'],
title : {
text: ' ',
subtext: ' '
},
grid: [
{x: '3%', y: '10%', width: '94%', height: '80%',x2:'1%', y2: '3%'},
],
tooltip : {
trigger: 'axis'
},
legend: {
textStyle: {
color: '#fff',
fontSize:15
},
data:['当前','环比','同比']
},
calculable : true,
xAxis : [
{
type : 'category',
boundaryGap: true,
axisLabel:{
color:'#fff',
interval:0,
rotate:15,//倾斜度 -90 至 90 默认为0
textStyle:{
fontSize:15,
}
},
axisLine:{
lineStyle:{
color:'#fff'
}
},
data : [ ]
}
],
yAxis : [
{
type : 'value',
axisLabel:{
color:'#fff',
rotate:-50,//倾斜度 -90 至 90 默认为0
textStyle:{
fontSize:15,
},
formatter: function(value,index){//纵坐标单位转换
if((value/100000000)>=1){
return (value/100000000).toFixed(0)+" 亿";
}else if((value/10000000)>=1){
return (value/10000000).toFixed(0)+"千万";
}else if((value/1000000)>=1){
return (value/1000000).toFixed(0)+"百万";
}else if((value/10000)>=1){
return (value/10000).toFixed(0)+" 万";
}else{
return value;
}
}
},
axisLine:{
lineStyle:{
color:'#fff'
}
},
axisTick:{
show:false
},
splitLine:{
show:false
}
}
],
series : [
{
name:'当前',
type:'bar',
data:[],
barCategoryGap:'10%',
barGap:'40%',
itemStyle : {
normal : {
label: {
show: true,
position: 'top',
textStyle: {
color: '#FFFF00',
fontSize:15
}
},
color: '#00FFCC'
}, }
},
{
name:'同比',
type:'bar',
data:[ ],
barCategoryGap:'10%',
barGap:'40%',
itemStyle : {
normal : {
label: {
show: true,
position: 'top',
textStyle: {
color: '#FFFF00',
fontSize:15
}
}
}, } },
{
name:'环比',
type:'bar',
data:[ ],
barCategoryGap:'10%',
barGap:'40%',
itemStyle : {
normal : {
label: {
show: true,
position: 'top',
textStyle: {
color: '#FFFF00',
fontSize:15
}
}
}, } }
]
};
return option;
}

echarts 柱状图的选中模式实现-被选中变色和再次选中为取消变色的更多相关文章
- vue Echarts 柱状图点击事件
drawBar(){ let that = this; let chart = this.$echarts.init(document.getElementById('bar-graph')); le ...
- Echarts柱状图实现不同颜色渐变色
第一次写文,只是想记录一下自己平时发现的小功能,这篇主要是实现echarts柱状图,每个柱子实现不同颜色的渐变色,也是第一次接触echarts,后台使用ssm,前台是extjs,直接上效果图 直接上j ...
- EasyUI tree 选中父节点子节点全部选中,选中子节点父节点不选中
需求:EasyUI tree 选中父节点子节点全部选中,选中子节点父节点不选中 效果: /** * 给树增加onCheck事件,首先使用cascadeCheck:false属性禁止全选, ...
- echarts柱状图标签显示不完全的问题
echarts 柱状图当x轴标签数目超过一定数目时在小尺寸设备上第一个和最后一个标签不显示(不是重叠),axisLabel设置interval:0也不起作用; 解决办法: 这个问题存在于4.0版本以上 ...
- CheckStateChanged(复选框选中状态更改事件)和 CheckedChanged(单选按钮选中状态更改事件)二者区别?
CheckStateChanged(复选框选中状态更改事件)和 CheckedChanged(单选按钮选中状态更改事件)二者区别: 复选框控件(CheckBox)提供了CheckedChanged控件 ...
- JQuery 判断checkbox是否选中,checkbox全选,获取checkbox选中值
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 关于Echarts柱状图实现的细节
echarts柱状图显示数值[1] echarts2: itemStyle : { normal: {label : {show: true, position: 'top'}}}, echarts ...
- echarts柱状图坐标文字显示不完整解决方式
echarts柱状图坐标文字显示不完整解决方式 本文转载自:https://jingyan.baidu.com/article/ab69b2707a9aeb2ca7189f0c.html echart ...
- echarts柱状图个数多,横坐标名称过长显示不全解决方法
当echarts柱状图个数多,横坐标名称过长时横坐标名称显示不全,网上并没有搜到太好的方法,于是自己加工了下,将横坐标名称显示前六位,当鼠标放到上面的时候显示全名,下面是示例代码,可以直接拷贝测试 代 ...
随机推荐
- window.onload 方法脚本
//首先 创建一个函数 function windowOload(func){ var onLoad = window.onload; //如果window.onload没有绑定任何函数 则绑定该函数 ...
- emWin 模拟器环境搭建
转载http://www.nxpic.org/module/forum/thread-609329-1-1.html 这个模拟器工程在Segger官网下载:https://www.segger.com ...
- Linux centosVMware 磁盘格式化、磁盘挂载、手动增加swap空间
一.磁盘格式化 磁盘分区后不能直接使用,需要对每一个分区格式化,格式化其实就是安装系统文件. 命令mke2fs:不支持格式化成xfs系统文件 mkfs.ext4 == mke2fs -t ext4 ...
- 091、Java中String类之使用“==”比较
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- VS 项目没有“添加引用”选项
出问题的环境:vs2017,unity2017unity创建工程后,vs打开项目后,无法添加引用dll,没有“添加引用”项原因: 需要把目标框架改为.
- Java虚拟机03(Java虚拟机内存模型)
根据 JVM 规范,JVM 内存共分为虚拟机栈.堆.方法区.程序计数器.本地方法栈五个部分. 其实最需要Java程序员关注的是堆,栈,还有方法区,因为啊: 如果代码又问题的话,可能回出现栈溢出 然后说 ...
- 利用 vuex 实现一个公用搜索器
安装 npm i vuex vuex 的使用 先创建好如图所示的文件: 编写 modules 下的 params.js const param = { state: { params: {} }, m ...
- 使用python将请求的requests headers参数格式化方法
import json # 使用三引号将浏览器复制出来的requests headers参数赋值给一个变量 headers = """ Host: zhan.qq.com ...
- 使用linux将一个服务器上的文件或者文件夹复制黏贴到另一个服务器上
一.复制文件: (1)将本地文件拷贝到远程 scp 文件名 用户名@计算机IP或者计算机名称:远程路径 本地192.168.1.8客户端 scp /root/install.* root@10.12 ...
- C++获取文件夹中所有文件
获取文件夹中的文件,用到过很多次,每次用的时候都要去查下,很烦,所以想自己写下,当然,借鉴了很多其他大佬的博客 主要实现的函数,如下: void getFiles( string path, vect ...