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柱状图个数多,横坐标名称过长时横坐标名称显示不全,网上并没有搜到太好的方法,于是自己加工了下,将横坐标名称显示前六位,当鼠标放到上面的时候显示全名,下面是示例代码,可以直接拷贝测试 代 ...
随机推荐
- MySQL必知必会(1-8)章
1.数据库,表,列,行,模式,每一列有唯一的数据类型,模式是数据库和表的布局及特性 2.满足主键的两个条件:任意两行都不具有相同的主键值,每行都必须具有主键值 3.SQL(Structured Que ...
- win10安装Oracle11g
第一步,下载 oracle 下载地址,官网(需要登录注册): http://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_databa ...
- Django(二十)下拉列表-省市联动实例:jquery的ajax处理前端
一.知识点 1.jquery的ajax请求写法 <script src="/static/js/jquery-1.12.4.min.js"></script> ...
- docker for windows 容器内网通过独立IP直接访问的方法
Docker官方推荐我们通过端口映射的方式把Docker容器的服务提供给宿主机或者局域网其他容器使用.一般过程是: 1.Docker进程通过监听宿主机的某个端口,将该端口的数据包发送给Docker容器 ...
- centos查找文件\目录\内容命令
1.查找文件 find / -name 'php.ini'12.查找目录 find / -name 'path' find / -name 'path' -type d13.查找内容 find . | ...
- 干货 | RDS For SQL Server单库上云
数据库作为核心数据的重要存储,很多时候都会面临数据迁移的需求,例如:业务从本地迁移上云.数据中心故障需要切换至灾备中心.混合云或多云部署下的数据同步.流量突增导致数据库性能瓶颈需要拆分-- 本文将会一 ...
- Linux打印变量、环境配置、别名和文件删除操作
一.打印命令 1.echo打印命令 a.打印环境变量 echo $Path b.打印Path命令目录 which,比如:which ls表示打印的是Path目录中第一定义的全局变量的目录中命令. 二. ...
- python2学习------基础语法5(常用容器以及相关操作)
1.list(列表) #生成数据list a=[x for x in range(10)]; #print a; #遍历list for i in a: pass; #print i; #追加元素 a ...
- ThinkPad重大更新!5款创意设计PC齐发2日
导读 日前,ThinkPad巨匠P系列专业移动工作站迎来全线更新,包括ThinkPad P1隐士2019.ThinkPad P53.ThinkPad P73.ThinkPad P43s.ThinkPa ...
- 编程练习:求某个数的n次方,返回其个位和十位
#!/usr/bin/env python def pow1(n,m): if m==0: return 1 if m==-1: return (1/n) if m & 1 != 0: ret ...