echarts实现数据区域缩放

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了echarts实现数据区域缩放相关的知识,希望对你有一定的参考价值。

参考技术A

在实际项目中经常会碰到 数据量大,数据区域广 时数据显示问题。而在交互组件中dataZoom可以帮我们实现对数据区域的缩放
以下是dataZoom的属性

我们可以通过一个例子来分析数据缩放
1.data有三个属性[m,n,k]
m代表x轴 n代表y轴 k代表样本大小(可以通过半径直观反映)
2.dataZoom数据窗口范围设置(两种方式 百分比与起始结束数值)
start: 30, //数据窗口范围的起始百分比,表示30%
end: 70, //数据窗口范围的结束百分比,表示70%
startValue:10, //数据窗口范围的起始数值
endValue:100, //数据窗口范围的结束数值。
3.slide.left 为滑动组件里容器左侧距离
可以是相对容器的百分比,也可以是left center right对齐。
4.xAxis x轴,yAxis y轴

slider

x:filter y:empty

x:filter y:filter

x:empty y:empty

x:none y:none

将y轴数据设置为NaN

Echarts dataZoom缩放功能参数详解:

dataZoom=[                                        //区域缩放
    
        id: 'dataZoomX',
        show:true,                               //是否显示 组件。如果设置为 false,不会显示,但是数据过滤的功能还存在。
        backgroundColor:"rgba(47,69,84,0)",     //组件的背景颜色
        type: 'slider',                          //slider表示有滑动块的,inside表示内置的
        dataBackground:                         //数据阴影的样式。
            lineStyle:mylineStyle,               //阴影的线条样式
            areaStyle:myareaStyle,               //阴影的填充样式
        ,
        fillerColor:"rgba(167,183,204,0.4)",     //选中范围的填充颜色。
        borderColor:"#ddd",                      //边框颜色。
        filterMode: 'filter',                    //'filter':当前数据窗口外的数据,被 过滤掉。即 会 影响其他轴的数据范围。每个数据项,只要有一个维度在数据窗口外,整个数据项就会被过滤掉。
        xAxisIndex:0,                            //设置 dataZoom-inside 组件控制的 x轴,可以用数组表示多个轴
        yAxisIndex:[0,2],                        //设置 dataZoom-inside 组件控制的 y轴,可以用数组表示多个轴
        radiusAxisIndex:3,                       //设置 dataZoom-inside 组件控制的 radius 轴,可以用数组表示多个轴
        angleAxisIndex:[0,2],                    //设置 dataZoom-inside 组件控制的 angle 轴,可以用数组表示多个轴
        start: 30,                               //数据窗口范围的起始百分比,表示30%
        end: 70,                                 //数据窗口范围的结束百分比,表示70%
        startValue:10,                           //数据窗口范围的起始数值
        endValue:100,                            //数据窗口范围的结束数值。
        orient:"horizontal",                     //布局方式是横还是竖。不仅是布局方式,对于直角坐标系而言,也决定了,缺省情况控制横向数轴还是纵向数轴。'horizontal':水平。'vertical':竖直。
        zoomLock:false,                          //是否锁定选择区域(或叫做数据窗口)的大小。如果设置为 true 则锁定选择区域的大小,也就是说,只能平移,不能缩放。
        throttle:100,                            //设置触发视图刷新的频率。单位为毫秒(ms)。
        zoomOnMouseWheel:true,                   //如何触发缩放。可选值为:true:表示不按任何功能键,鼠标滚轮能触发缩放。false:表示鼠标滚轮不能触发缩放。'shift':表示按住 shift 和鼠标滚轮能触发缩放。'ctrl':表示按住 ctrl 和鼠标滚轮能触发缩放。'alt':表示按住 alt 和鼠标滚轮能触发缩放。
        moveOnMouseMove:true,                    //如何触发数据窗口平移。true:表示不按任何功能键,鼠标移动能触发数据窗口平移。false:表示鼠标滚轮不能触发缩放。'shift':表示按住 shift 和鼠标移动能触发数据窗口平移。'ctrl':表示按住 ctrl 和鼠标移动能触发数据窗口平移。'alt':表示按住 alt 和鼠标移动能触发数据窗口平移。
        left:"center",                           //组件离容器左侧的距离,'left', 'center', 'right','20%'
        top:"top",                               //组件离容器上侧的距离,'top', 'middle', 'bottom','20%'
        right:"auto",                            //组件离容器右侧的距离,'20%'
        bottom:"auto",                           //组件离容器下侧的距离,'20%'

    ,
    
        id: 'dataZoomY',
        type: 'inside',
        filterMode: 'empty',
        disabled:false,                         //是否停止组件的功能。
        xAxisIndex:0,                           //设置 dataZoom-inside 组件控制的 x轴,可以用数组表示多个轴
        yAxisIndex:[0,2],                       //设置 dataZoom-inside 组件控制的 y轴,可以用数组表示多个轴
        radiusAxisIndex:3,                      //设置 dataZoom-inside 组件控制的 radius 轴,可以用数组表示多个轴
        angleAxisIndex:[0,2],                   //设置 dataZoom-inside 组件控制的 angle 轴,可以用数组表示多个轴
        start: 30,                              //数据窗口范围的起始百分比,表示30%
        end: 70,                                //数据窗口范围的结束百分比,表示70%
        startValue:10,                          //数据窗口范围的起始数值
        endValue:100,                           //数据窗口范围的结束数值。
        orient:"horizontal",                    //布局方式是横还是竖。不仅是布局方式,对于直角坐标系而言,也决定了,缺省情况控制横向数轴还是纵向数轴。'horizontal':水平。'vertical':竖直。
        zoomLock:false,                         //是否锁定选择区域(或叫做数据窗口)的大小。如果设置为 true 则锁定选择区域的大小,也就是说,只能平移,不能缩放。
        throttle:100,                           //设置触发视图刷新的频率。单位为毫秒(ms)。
        zoomOnMouseWheel:true,                  //如何触发缩放。可选值为:true:表示不按任何功能键,鼠标滚轮能触发缩放。false:表示鼠标滚轮不能触发缩放。'shift':表示按住 shift 和鼠标滚轮能触发缩放。'ctrl':表示按住 ctrl 和鼠标滚轮能触发缩放。'alt':表示按住 alt 和鼠标滚轮能触发缩放。
        moveOnMouseMove:true,                   //如何触发数据窗口平移。true:表示不按任何功能键,鼠标移动能触发数据窗口平移。false:表示鼠标滚轮不能触发缩放。'shift':表示按住 shift 和鼠标移动能触发数据窗口平移。'ctrl':表示按住 ctrl 和鼠标移动能触发数据窗口平移。'alt':表示按住 alt 和鼠标移动能触发数据窗口平移。
    
];

以上是关于echarts实现数据区域缩放的主要内容,如果未能解决你的问题,请参考以下文章

ECharts地图,可以在缩放到一定程度时改变事件么

echarts数据可视化详解,一篇带你入门数据可视化

echarts折线图图表怎么显示平均值

echarts使用备忘

Echarts dataZoom缩放功能参数详解:

Echarts dataZoom缩放功能参数详解: