02-Echarts散点图基本实现、气泡图、涟漪效果等

7 篇文章 0 订阅
7 篇文章 0 订阅

散点图特点

散点图可以帮助我们推断出变量间的相关性
比如身高和体重的关系
散点图也常用在地图的标注上

散点图实现方法

1.x轴数据和y轴数据:都是二维数组
比如 [[‘身高’,体重],[‘身高’,体重],…]
2.图标类型:在series下设置type:scatter xAxis和yAxis的type都要设置为value
3.调整将坐标轴都设置为脱离0值比例,scale:true

散点图基本实现

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./echarts.min.js"></script>
</head>
<body>
  
        <div style="width: 600px; height: 600px;"></div>
</body>
<script>
     //1. ECharts最基本的代码结构
    //2. x轴和y轴数据 二维数组 [ [身高,体重],...   ]
    //3. 将type的值设置为scatter, x轴和y轴的type都是value
    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 }, { "gender": "female", "height": 170, "weight": 59 }, { "gender": "female", "height": 159.1, "weight": 47.6 }, { "gender": "female", "height": 166, "weight": 69.8 }, { "gender": "female", "height": 176.2, "weight": 66.8 }, { "gender": "female", "height": 160.2, "weight": 75.2 }, { "gender": "female", "height": 172.5, "weight": 55.2 }, { "gender": "female", "height": 170.9, "weight": 54.2 }, { "gender": "female", "height": 172.9, "weight": 62.5 }, { "gender": "female", "height": 153.4, "weight": 42 }, { "gender": "female", "height": 160, "weight": 50 }, { "gender": "female", "height": 147.2, "weight": 49.8 }, { "gender": "female", "height": 168.2, "weight": 49.2 }, { "gender": "female", "height": 175, "weight": 73.2 }, { "gender": "female", "height": 157, "weight": 47.8 }, { "gender": "female", "height": 167.6, "weight": 68.8 }, { "gender": "female", "height": 159.5, "weight": 50.6 }, { "gender": "female", "height": 175, "weight": 82.5 }, { "gender": "female", "height": 166.8, "weight": 57.2 }, { "gender": "female", "height": 176.5, "weight": 87.8 }, { "gender": "female", "height": 170.2, "weight": 72.8 }, { "gender": "female", "height": 174, "weight": 54.5 }]

    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)
    }
    console.log(axisData);
    var mCharts = echarts.init(document.querySelector('div'))
    var option = {
        xAxis:{
            type:'value',
            scale:true
        },
        yAxis:{
            type:'value',
            scale:true
        },
        series:[
            {
                type:'scatter',
                data:axisData
            }
        ]

    }
    mCharts.setOption(option)
</script>
</html>

如图所示
在这里插入图片描述

气泡图

散点的大小不同,颜色不同来实现

series:[
            {
                type:'scatter',
                data:axisData,
                // 气泡图
                symbolSize:function(arg){
                    // console.log(arg);
                    var height = arg[0]/100
                    var weight = arg[1]
                    // BMI计算 = 体重/(身高*身高) 大于28,就代表肥胖
                    var bmi =weight / (height*height)
                    if(bmi > 28){
                        return 20
                    }
                    return 5
                },
                itemStyle:{ //设置散点图颜色,可以是一个函数
                    color:function(arg){
                        console.log(arg);
                        var height = arg.data[0]/100
                        var weight = arg.data[1]
                    // BMI计算 = 体重(kg)/(身高(m)*身高) 大于28,就代表肥胖
                    var bmi =weight / (height*height)
                    if(bmi > 28){
                        return 'red'
                    }
                    return 'green'
                    }
                }
            }
        ]

点击进入:BMI计算
执行结果
在这里插入图片描述

涟漪动画效果

 series:[
            {
 
                // 涟漪动画效果
               type:'effectScatter',
               rippleEffect:{
                scale:5 //缩放 涟漪动画范围大小
              },
                showEffectOn:'emphasis', // 悬停散点涟漪执行
                }
                ]

执行结果
在这里插入图片描述
更多配置请去Echarts官网学习
Echarts官网:请点击

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Echarts散点图动态效果可以通过使用Echarts提供的动画效果实现。在Echarts中,可以通过设置series中的animationDelay和animationDuration属性来控制动画的延迟和持续时间。此外,还可以通过使用Echarts提供的事件监听器来实现交互式动态效果,例如鼠标悬停时的高亮显示和提示框。 具体实现方法可以参考以下步骤: 1. 在Echarts中创建一个散点图,并设置好数据和样式。 2. 在series中设置animationDelay和animationDuration属性,控制动画的延迟和持续时间。 3. 使用Echarts提供的事件监听器,例如鼠标悬停事件,来实现交互式动态效果。 下面是一个示例代码,展示了如何使用Echarts实现散点图动态效果: ``` // 初始化Echarts实例 var myChart = echarts.init(document.getElementById('myChart')); // 设置散点图数据和样式 var option = { xAxis: {}, yAxis: {}, series: [{ type: 'scatter', data: [[1, 2], [2, 3], [3, 4], [4, 5]], symbolSize: function (data) { return Math.sqrt(data[1]) * 10; } }] }; // 设置动画效果 option.series[0].animationDelay = function (idx) { return idx * 50; }; option.series[0].animationDuration = 2000; // 使用事件监听器实现交互式动态效果 myChart.on('mouseover', function (params) { myChart.dispatchAction({ type: 'highlight', seriesIndex: 0, dataIndex: params.dataIndex }); }); myChart.on('mouseout', function (params) { myChart.dispatchAction({ type: 'downplay', seriesIndex: 0, dataIndex: params.dataIndex }); }); // 渲染图表 myChart.setOption(option); ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值