echarts 柱状图的选中模式实现-被选中变色和再次选中为取消变色

方法:

 1 function barCharShow(curr_dim,divId,result_data){
 2     mutilDim(curr_dim);//维度信息
 3       var paint = initEcharts(echarts,divId);
 4       var option = buildStandardBar();
 5        option.xAxis[0].data=result_data.xAxis_data;
 6        option.series[0].data= result_data.data;
 7        option.series[1].data=result_data.data_year;
 8        option.series[2].data= result_data.data_mom;
 9        paint.setOption(option);
10        var select_dim_id = "dim_"+(Number(curr_dim)+1);
11        paint.on(‘click‘, function (params) {
12            option.series[params.seriesIndex].itemStyle.normal.color=function (param){
13                if(params.dataIndex == param.dataIndex &&$("#parent_dim_"+curr_dim).val()!=params.name){
14                    return ‘#FF3333‘;
15                }else{
16                    return ‘#00FFCC‘;
17                }
18
19            };
20            paint.setOption(option);
21
22               //alert(params);
23               //$("#"+select_dim_id).val(params.data.key);
24
25
26               if($("#parent_dim_"+curr_dim).val()==params.name){
27                 //取消维度选择
28                   $("#parent_dim_"+curr_dim).val(null);
29               }else{
30                 //维度选择
31                   $("#parent_dim_"+curr_dim).val(params.name);
32               }
33
34               //获取全部维度-拼维度
35                var str="";
36                for (var i = 1; i <=curr_dim; i++) {
37                 if($("#parent_dim_"+i).val()!=""&&$("#parent_dim_"+i).val()!=null){
38                     if(i>1){
39                         str+="-";
40                     }
41                     str+=$("#parent_dim_"+i).val();
42                 }
43             }
44                $("#parent_mdim_"+curr_dim).val(str);
45
46
47               $("#"+select_dim_id).trigger("change");
48
49             //
50
51           });
52
53 }

柱状图:

  1 //标注柱状图
  2 function buildStandardBar(){
  3     var option = {
  4               color: [‘#00FFCC‘,‘#999933‘,‘#66FF00‘],
  5             title : {
  6                 text: ‘ ‘,
  7                 subtext: ‘ ‘
  8             },
  9             grid: [
 10                     {x: ‘3%‘, y: ‘10%‘, width: ‘94%‘, height: ‘80%‘,x2:‘1%‘, y2: ‘3%‘},
 11                   ],
 12             tooltip : {
 13                 trigger: ‘axis‘
 14             },
 15             legend: {
 16                  textStyle: {
 17                         color: ‘#fff‘,
 18                         fontSize:15
 19                     },
 20                 data:[‘当前‘,‘环比‘,‘同比‘]
 21             },
 22             calculable : true,
 23             xAxis : [
 24                 {
 25                     type : ‘category‘,
 26                     boundaryGap: true,
 27                     axisLabel:{
 28                         color:‘#fff‘,
 29                         interval:0,
 30                         rotate:15,//倾斜度 -90 至 90 默认为0
 31                         textStyle:{
 32                             fontSize:15,
 33                         }
 34                     },
 35                     axisLine:{
 36                         lineStyle:{
 37                             color:‘#fff‘
 38                         }
 39                     },
 40                     data : [ ]
 41                 }
 42             ],
 43             yAxis : [
 44                 {
 45                     type : ‘value‘,
 46                     axisLabel:{
 47                         color:‘#fff‘,
 48                         rotate:-50,//倾斜度 -90 至 90 默认为0
 49                         textStyle:{
 50                             fontSize:15,
 51                         },
 52                         formatter: function(value,index){//纵坐标单位转换
 53                             if((value/100000000)>=1){
 54                             return (value/100000000).toFixed(0)+" 亿";
 55                             }else if((value/10000000)>=1){
 56                             return (value/10000000).toFixed(0)+"千万";
 57                             }else if((value/1000000)>=1){
 58                             return (value/1000000).toFixed(0)+"百万";
 59                             }else if((value/10000)>=1){
 60                             return (value/10000).toFixed(0)+" 万";
 61                             }else{
 62                             return value;
 63                             }
 64                            }
 65                     },
 66                     axisLine:{
 67                         lineStyle:{
 68                             color:‘#fff‘
 69                         }
 70                     },
 71                     axisTick:{
 72                         show:false
 73                     },
 74                     splitLine:{
 75                         show:false
 76                     }
 77                 }
 78             ],
 79             series : [
 80                 {
 81                     name:‘当前‘,
 82                     type:‘bar‘,
 83                     data:[],
 84                     barCategoryGap:‘10%‘,
 85                     barGap:‘40%‘,
 86                     itemStyle : {
 87                         normal : {
 88                             label: {
 89                                   show: true,
 90                                   position: ‘top‘,
 91                                   textStyle: {
 92                                     color: ‘#FFFF00‘,
 93                                     fontSize:15
 94                               }
 95                            },
 96                             color: ‘#00FFCC‘
 97                         },
 98
 99                     }
100                 },
101                 {
102                     name:‘同比‘,
103                     type:‘bar‘,
104                     data:[ ],
105                     barCategoryGap:‘10%‘,
106                     barGap:‘40%‘,
107                     itemStyle : {
108                         normal : {
109                             label: {
110                                   show: true,
111                                   position: ‘top‘,
112                                   textStyle: {
113                                     color: ‘#FFFF00‘,
114                                     fontSize:15
115                               }
116                            }
117                         },
118
119                     }
120
121                 },
122                 {
123                     name:‘环比‘,
124                     type:‘bar‘,
125                     data:[ ],
126                     barCategoryGap:‘10%‘,
127                     barGap:‘40%‘,
128                     itemStyle : {
129                         normal : {
130                             label: {
131                                   show: true,
132                                   position: ‘top‘,
133                                   textStyle: {
134                                     color: ‘#FFFF00‘,
135                                     fontSize:15
136                               }
137                            }
138                         },
139
140                     }
141
142                 }
143             ]
144         };
145     return option;
146 }

原文地址:https://www.cnblogs.com/yxdmoodoo/p/9990502.html

时间: 2024-10-09 23:18:32

echarts 柱状图的选中模式实现-被选中变色和再次选中为取消变色的相关文章

选中和取消选中复选框实现背景变色和取消变色

选中和取消选中复选框实现背景变色和取消变色:为了提高表格这种新闻列表的人性化程度,当前有很多措施,最为常见是鼠标悬浮行变色或者隔行变色,本章介绍一下另一种形式,就是前面有一个复选框,选中和取消选中复选框能够实现对应行背景变色或者取消变色,代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content=&

jQuery_review之table中根据行选中,进行背景变色和radio选中

在各种WEB系统中经常可以看到类似的操作,点击中列表的某一行,然后当前行就会变成其他的颜色,并且其中的radio就会被选中.并且一般还会鼠标滑过的时候的动态特效,比如鼠标滑过当前行的时候会有一个变色的样式.趁着复习jQuery的机会,看一下使用jQuery来实现这个功能的步骤. 在这个功能当中,有一个需要注意的小知识点:如何增加一个radio?在HTML中,增加一个HTML使用如下的代码<input type="radio" name="fruit">这

jQuery_review之table中根据行选中,进行背景变色和checkbox选中

继续复习jQuery,对table来说,上面除了单选之外,还有多选的一个控制.对于多选来说,需要对多选的内容进行高亮显示,还应该在页面加载的时候,对已经默认选中的内容进行高亮.这些小功能也是复习jQuery选择器的一个很好地素材,有非常多的实现方式,不仅仅拘泥于一种,只要能将功能健壮的实现了,就是比较不错的了. 在一本资料上,看到了这样的一种jQuery的写法,还是非常的惊艳! element[hasClassName?"removeClass":"addClass"

JQuery 判断checkbox是否选中,checkbox全选,获取checkbox选中值

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

EasyUI tree 选中父节点子节点全部选中,选中子节点父节点不选中

需求:EasyUI tree 选中父节点子节点全部选中,选中子节点父节点不选中 效果: /**   * 给树增加onCheck事件,首先使用cascadeCheck:false属性禁止全选,   * 然后获取当前选中节点的所有子节点,在判断其拥有子节点时对其所有字节点   * 进行遍历操作.在easyui中树节点的是否选中不是由checked:true   * 属性来控制,而是由class tree-checkbox0   * 和tree-checkbox1进行控制.--by wk   */  

Jquery之table中根据行选中,进行背景变色和radio选中

实现功能:点击列表中的某一行,然后当前行会变成其他颜色,并且其中的radio会被选中. <%@ page language="java" contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() 

在EasyUI实现点击有子节点的文字时展开但不选中,点击最终子节点才选中的功能

最近做的项目中,总是会遇到需要实现点击树目录的有子节点时展开目录,点击最终子节点才实现选中的功能的需求.下边我就直接黏贴一下代码出来吧,非常容易看懂,关键的就是在选中事件中加一个判断. $('#RepairTID').combotree({        url: '/RepairSub/GetRepTypeZ/?userRole=5',        required: true,        panelHeight: 'auto',        onLoadSuccess: functi

怎么让listview无法选中,listview中的button可以被选中

============问题描述============ 就是类似于QQ中聊天界面的哪种效果,listview的item没有选中效果,但是item中的textview可以被选中,这个怎么实现?? 求助... ============解决方案1============ 在布局文件中设置listview  android:listselector="@android:color/translate"让他在被点中的时候背景透明,这样,看起来的效果listview就无法选中 然后你点击butt

Echarts 柱状图配置详解

柱状图比如做成如下所示图: 所有的基本配置如下: // 指定图表的配置项和数据 var option = { // ---- 标题 ----- title: { text: '主标题', textStyle: { color: 'red' }, subtext: '副标题', subtextStyle: { color: 'blue' }, padding: [0, 0, 10, 100] // 位置 }, // ---- legend ---- legend: { type: 'plain',