echarts 散点图(带涟漪动画)

1、准备的数据必须是二维的数值数据
	方式一:
		[[数值,数值],[数值,数值]]
		
	方式二:
		[
			{
				value:[数值,数值]
		        label: {},	自定义标签样式,仅对该数据项有效
		        itemStyle:{}	自定义特殊 itemStyle,仅对该数据项有效
			}
		]

2、x和y轴设置
	x和y都设置成数值类型
	xAxis:
	{
        type:'value',
        scale:true	坐标轴不从0开始
    },
    yAxis:
    {
        type:'value',
        scale:true
    },	

3、设置数据显示和样式
	series:[
		{
			type:'scatter',
			data:axisData,  数据必须是二维数值数组
			symbolSize:n,   散点固定大小
			symbolSize:function(value,params)  动态设置散点大小
	        {
	        	每个散点都会执行该函数
	        	第一个参数value为当前散点的数据值。第二个参数params是其它的数据项参数。
	      
	        	return n;
	        },
	        itemStyle:{  设置散点样式
	        	color:'red', 固定散点颜色
	        	color:function(params){ 动态设置散点颜色
	        		params包含了seriesIndex, dataIndex, data, value等参数
	        		params.data获取当前散点的数值
					return '颜色';  
	        	}
	        },
	        lable:{
	        	show:true,  显示散点y轴对应内容
	        }
	        
	         
		}
	]
	
4、设置散点涟漪动画
	series:[
		{
			type:'effectScatter',
			showEffectOn:'emphasis',  'render'绘制完成后显示特效,'emphasis' 高亮(hover)的时候显示特效。
		    rippleEffect:{  设置涟漪动画样式
             color:'purple',   涟漪颜色,默认为散点自身颜色
             brushType:'fill'  动画方式,全填充或只有线条,'stroke'
             period:4,   动画周期
             scale:'2.5',  涟漪规模
          },
		}
	]

效果图:
在这里插入图片描述

代码示例:

   var data = [{ "gender": "female", "height": 161.2, "weight": 51.6 }, { "gender": "female", "height": 167.5, "weight": 59 }, { "gender": "female", "height": 159.5, "weight": 49.2 }, { "gender": "female", "height": 157, "weight": 63 }, { "gender": "female", "height": 155.8, "weight": 53.6 },]
    
    var axisData = [];
    for( var i=0;i<data.length;i++) {
      var height = data[i].height
      var weight = data[i].weight
      var newArr = [height, weight]
      axisData.push(newArr)
    }

    var option = {
      xAxis:{
        type:'value',
        scale:true
      },
      yAxis:{
        type:'value',
        scale:true
      },
      series:[
        {
          type:'effectScatter',
          showEffectOn:'emphasis',  //'render' 绘制完成后显示特效,'emphasis' 高亮(hover)的时候显示特效。
          rippleEffect:{ //设置涟漪动画样式
            // color:'purple',  //涟漪颜色,默认为散点自身颜色
            // brushType:'fill' //动画方式,全填充或只有线条,'stroke'
            period:4,  //动画周期
            scale:'2.5',  //涟漪规模
            brushType:'fill'
          },
          data:axisData, //数据必须是二维数值数组
          // symbolSize:10, //散点的固定大小
          symbolSize:function(value,params) //其中第一个参数value为data中的每一组数据值。第二个参数params是其它的数据项参数。
          {
            var height = value[0] / 100
            var weight = value[1]
            // bmi = 体重kg / (身高m*身高m)   大于28,就代表肥胖
            var bmi = weight / (height * height)
            if (bmi > 28) {
              return 20;
            }else if(bmi>20)
            {
              return 10
            }
            return 5;

          },
          itemStyle:{  //设置散点样式
            // color:'green' 固定颜色
            color:function(params) // 包含了seriesIndex, dataIndex, data, value等参数
            {
              var height = params.data[0] / 100
              var weight = params.data[1]
              // bmi = 体重kg / (身高m*身高m)   大于28,就代表肥胖
              var bmi = weight / (height * height)

            if (bmi > 28) {
              return 'red';
            }else if(bmi>20)
            {
              return 'green';
            }
            return 'blue';


            }
          },
          label:{
            show:true,
            fontSize:5
          }
        }
      ]
    };

    myMap.setOption(option);
  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值