【echarts】实现单线与多线滚轮联动、隐藏拖拽、关闭动画

单线滚轮联动

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>ECharts DataZoom</title>
    <script src="https://cdn.jsdelivr.net/npm/echarts@5.2.0/dist/echarts.min.js"></script>
</head>
<body>
    <div id="chart" style="width: 600px; height: 400px;"></div>

    <script>
        // 初始化echarts实例
        var myChart = echarts.init(document.getElementById('chart'));

        // 模拟数据
        var data1 = [10, 20, 30, 40, 50, 60, 70, 80, 90];

        // 配置项
        var option = {
            xAxis: {
                type: 'category',
                data: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                name: 'Line 1',
                type: 'line',
                data: data1
            }],
            dataZoom: [{
                type: 'inside',
                xAxisIndex: 0,
                start: 0,
                end: 100
            }, {
                type: 'inside',
                yAxisIndex: 0,
                start: 0,
                end: 100
            }]
        };

        // 使用刚指定的配置项和数据显示图表
        myChart.setOption(option);
    </script>
</body>
</html>

在这里插入图片描述

单线鼠标拖动

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>ECharts DataZoom</title>
    <script src="https://cdn.jsdelivr.net/npm/echarts@5.2.0/dist/echarts.min.js"></script>
</head>
<body>
    <div id="chart" style="width: 600px; height: 400px;"></div>

    <script>
        // 初始化echarts实例
        var myChart = echarts.init(document.getElementById('chart'));

        // 模拟数据
        var data1 = [10, 20, 30, 40, 50, 60, 70, 80, 90];

        // 配置项
        var option = {
            xAxis: {
                type: 'category',
                data: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                name: 'Line 1',
                type: 'line',
                data: data1
            }],
            dataZoom: [{
                type: 'inside',
                xAxisIndex: 0,
                start: 0,
                end: 100
            }, {
                type: 'inside',
                yAxisIndex: 0,
                start: 0,
                end: 100
            }, {
                type: 'slider',
                xAxisIndex: 0,
                start: 0,
                end: 100
            }, {
                type: 'slider',
                yAxisIndex: 0,
                start: 0,
                end: 100
            }
            ]
        };

        // 使用刚指定的配置项和数据显示图表
        myChart.setOption(option);
    </script>
</body>
</html>

在这里插入图片描述

多线滚轮联动

要通过鼠标滚轮联动变化echarts中的两组线,可以使用echarts的dataZoom组件来实现。dataZoom组件可以通过鼠标滚轮来缩放和平移图表的数据视图。

以下是一个简单的示例代码,展示了如何在echarts中使用dataZoom组件来实现鼠标滚轮联动变化:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>ECharts DataZoom</title>
    <script src="https://cdn.jsdelivr.net/npm/echarts@5.2.0/dist/echarts.min.js"></script>
</head>
<body>
    <div id="chart" style="width: 600px; height: 400px;"></div>

    <script>
        // 初始化echarts实例
        var myChart = echarts.init(document.getElementById('chart'));

        // 模拟数据
        var data1 = [10, 20, 30, 40, 50, 60, 70, 80, 90];
        var data2 = [5, 15, 25, 35, 45, 55, 65, 75, 85];

        // 配置项
        var option = {
            xAxis: {
                type: 'category',
                data: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                name: 'Line 1',
                type: 'line',
                data: data1
            }, {
                name: 'Line 2',
                type: 'line',
                data: data2
            }],
            dataZoom: [{
                type: 'inside',
                xAxisIndex: 0,
                start: 0,
                end: 100
            }, {
                type: 'inside',
                yAxisIndex: 0,
                start: 0,
                end: 100
            }]
        };

        // 使用刚指定的配置项和数据显示图表
        myChart.setOption(option);
    </script>
</body>
</html>

在这个示例中,我们使用dataZoom组件来实现鼠标滚轮联动变化。dataZoom组件包含两个部分:水平方向的xAxis和垂直方向的yAxis。我们在配置项dataZoom中定义了两个inside类型的dataZoom,分别与x轴

在这里插入图片描述

多线鼠标拖动

在echarts中实现鼠标拖动联动变化,可以使用dataZoom组件的slider类型。slider类型的dataZoom可以通过拖动滑块来选择数据范围。

以下是修改后的示例代码,演示了如何在echarts中使用dataZoom组件的slider类型来实现鼠标拖动联动变化:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>ECharts DataZoom</title>
    <script src="https://cdn.jsdelivr.net/npm/echarts@5.2.0/dist/echarts.min.js"></script>
</head>
<body>
    <div id="chart" style="width: 600px; height: 400px;"></div>

    <script>
        // 初始化echarts实例
        var myChart = echarts.init(document.getElementById('chart'));

        // 模拟数据
        var data1 = [10, 20, 30, 40, 50, 60, 70, 80, 90];
        var data2 = [5, 15, 25, 35, 45, 55, 65, 75, 85];

        // 配置项
        var option = {
            xAxis: {
                type: 'category',
                data: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                name: 'Line 1',
                type: 'line',
                data: data1
            }, {
                name: 'Line 2',
                type: 'line',
                data: data2
            }],
            dataZoom: [{
                type: 'slider',
                xAxisIndex: 0,
                start: 0,
                end: 100
            }, {
                type: 'slider',
                yAxisIndex: 0,
                start: 0,
                end: 100
            }]
        };

        // 使用刚指定的配置项和数据显示图表
        myChart.setOption(option);
    </script>
</body>
</html>

在这个示例中,我们将dataZoom组件的类型改为slider,并定义了两个slider类型的dataZoom,分别与x轴和y轴关联。通过拖动滑块,可以选择数据的范围,从而实现鼠标拖动联动变化。

在这里插入图片描述

隐藏拖拽的slider

隐藏拖拽的slider。你可以使用dataZoom组件的show属性来控制slider的显示和隐藏。

以下是一个示例代码,演示了如何隐藏拖拽的slider:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>ECharts DataZoom</title>
    <script src="https://cdn.jsdelivr.net/npm/echarts@5.2.0/dist/echarts.min.js"></script>
</head>
<body>
    <div id="chart" style="width: 600px; height: 400px;"></div>

    <script>
        // 初始化echarts实例
        var myChart = echarts.init(document.getElementById('chart'));

        // 模拟数据
        var data1 = [10, 20, 30, 40, 50, 60, 70, 80, 90];
        var data2 = [5, 15, 25, 35, 45, 55, 65, 75, 85];

        // 配置项
        var option = {
            xAxis: {
                type: 'category',
                data: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                name: 'Line 1',
                type: 'line',
                data: data1
            }, {
                name: 'Line 2',
                type: 'line',
                data: data2
            }],
            dataZoom: [{
                type: 'slider',
                xAxisIndex: 0,
                start: 0,
                end: 100,
                show: false  // 隐藏x轴的slider
            }, {
                type: 'slider',
                yAxisIndex: 0,
                start: 0,
                end: 100,
                show: false  // 隐藏y轴的slider
            }]
        };

        // 使用刚指定的配置项和数据显示图表
        myChart.setOption(option);
    </script>
</body>
</html>

在这个示例中,我们将dataZoom组件中的slider的show属性设置为false,从而隐藏了拖拽的slider。你可以根据需要选择隐藏x轴的slider、y轴的slider或者同时隐藏两者。

请根据实际需求修改代码,并根据你的图表要求设置相应的show属性。

在这里插入图片描述

关闭动画效果

实现鼠标移到图表时不闪动,可以使用echarts的animation配置项来控制图表的动画效果。

以下是一个示例代码,演示了如何在echarts中禁用图表的动画效果:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>ECharts Disable Animation</title>
    <script src="https://cdn.jsdelivr.net/npm/echarts@5.2.0/dist/echarts.min.js"></script>
</head>
<body>
    <div id="chart" style="width: 600px; height: 400px;"></div>

    <script>
        // 初始化echarts实例
        var myChart = echarts.init(document.getElementById('chart'));

        // 模拟数据
        var data1 = [10, 20, 30, 40, 50, 60, 70, 80, 90];
        var data2 = [5, 15, 25, 35, 45, 55, 65, 75, 85];

        // 配置项
        var option = {
            xAxis: {
                type: 'category',
                data: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                name: 'Line 1',
                type: 'line',
                data: data1
            }, {
                name: 'Line 2',
                type: 'line',
                data: data2
            }],
            animation: false  // 禁用动画效果
        };

        // 使用刚指定的配置项和数据显示图表
        myChart.setOption(option);
    </script>
</body>
</html>

在这个示例中,我们将配置项animation设置为false,从而禁用了图表的动画效果。这样,当鼠标移到图表上时,就不会出现闪动的效果。

请根据实际需求修改代码,并根据你的图表要求设置相应的animation配置项。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔都吴所谓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值