Echarts dataZoom x轴横坐标缩放

文章详细介绍了Echarts中的dataZoom组件用于x轴和y轴的缩放功能,包括slider和inside两种类型,以及它们的配置选项,如handleIcon、brushSelect、backgroundColor等,同时展示了如何设置多轴缩放和内部缩放的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://echarts.apache.org/zh/option.html#dataZoom

Echarts dataZoom x轴横坐标缩放

dataZoom 房子 option下的第一级, 和 xAxis , yAxis , series 等 同级;

dateZoom 可以是一个Object, 也可以是Object数组

dataZoomtype 有两种值

  • "slider" 游标, 为默认值, 图表外部会出现缩放条 , 因为"slider"是默认值,所以 type: 'slider'存在和去掉,效果是一样的
  • "inside" 内部, 外部看不到变化, 通过鼠标滚轮可以缩放图表
  dataZoom: [
    {
      textStyle: {
        color: '#8392A5'
      },
      handleIcon: //绘制游标的样式
        'path://M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
      dataBackground: {
        areaStyle: {
          color: '#8392A5'
        },
        lineStyle: {
          opacity: 0.8,
          color: '#8392A5'
        }
      },
      brushSelect: true
    },
    {
      type: 'inside'
    }
  ],
 {
                type: 'slider',
                id : 'sliderX',
                show: true,//是否显示组件。如果设置为false,不会显示,但是数据过滤的功能还存在
                backgroundColor: 'rgba(47,69,84,0)',//组件的背景颜色
                dataBackground: {//数据阴影的样式。
                    lineStyle: {...},//阴影的线条样式
                    areaStyle: {...},//阴影的填充样式
                },
                selectedDataBackground: {//选中部分数据阴影的样式
                    lineStyle: {...},//选中部分阴影的线条样式
                    areaStyle: {...},//选中部分阴影的填充样式
                },
                fillerColor: 'rgba(167,183,204,0.4)',//选中范围的填充颜色
                borderColor: '#ddd',//边框颜色。
                handleIcon:'',//两侧缩放手柄的 icon 形状,支持路径字符串
                handleSize: '100%',//控制手柄的尺寸,可以是像素大小,也可以是相对于 dataZoom 组件宽度的百分比,默认跟dataZoom宽度相同
                handleStyle: {...},//两侧缩放手柄的样式配置
                moveHandleIcon : '',//移动手柄中间的icon,支持路径字符串
                moveHandleSize: 7,//移动手柄的尺寸高度
                moveHandleStyle: {...},//移动手柄的样式配置
                labelPrecision: 'auto',//显示label的小数精度。默认根据数据自动决定
                labelFormatter : '',//显示的label的格式化器
                showDetail: true,//是否显示detail,即拖拽时候显示详细数值信息
                showDataShadow: 'auto',//是否在 dataZoom-silder组件中显示数据阴影。数据阴影可以简单地反应数据走势
                realtime: true,//拖动时,是否实时更新系列的视图。如果设置为false,则只在拖拽结束的时候更新。
                textStyle: {...},//dataZoom文本样式
                xAxisIndex: 0,
                yAxisIndex: [0, 2],
                radiusAxisIndex: 0,
                angleAxisIndex: [0, 2],
                filterMode: 'filter',
                start: 0,
                end: 100,
                startValue ...,
                endValue ...,
                minSpan ...,
                maxSpan ...,
                minValueSpan ...,
                maxValueSpan ...,
                orient ...,
                zoomLock: false,
                throttle: 100,
                rangeMode ...,
                zlevel: 0,//所有图形的zlevel值。zlevel大的Canvas会放在zlevel小的Canvas的上面
                z: 2,//组件的所有图形的z值。控制图形的前后顺序。z值小的图形会被z值大的图形覆盖
                left: 'auto',//dataZoom-slider组件离容器左侧的距离
                top: 'auto',//dataZoom-slider组件离容器上侧的距离
                right: 'auto',//dataZoom-slider组件离容器右侧的距离
                bottom: 'auto',//dataZoom-slider组件离容器下侧的距离
                brushSelect: true,//是否开启刷选功能。在下图的brush区域你可以按住鼠标左键后框选出选中部分
                brushStyle: {...},//刷选框样式设置
                emphasis: {//高亮样式设置
                    handleStyle: {...},
                    moveHandleStyle: {...}
                }
            }

Echarts dataZoom xy双轴横坐标缩放
  dataZoom: [
    {
      type: 'slider',
      show: true,
      xAxisIndex: [0],
      start: 1,
      end: 35
    },
    {
      type: 'slider',
      show: true,
      yAxisIndex: [0],
      left: '93%',
      start: 29,
      end: 36
    },
    {
      type: 'inside',
      xAxisIndex: [0],
      start: 1,
      end: 35
    },
    {
      type: 'inside',
      yAxisIndex: [0],
      start: 29,
      end: 36
    }
  ],
### ECharts 柱状图 X 显示样式和属性配置 #### 开启 X 滚动条 为了使 ECharts 的柱状图支持 X 上的数据量较大时能够平滑浏览,可以通过 `dataZoom` 属性来实现滚动效果。具体来说,在图表选项中加入如下设置可以开启并展示水平方向的数据缩放组件: ```javascript option = { dataZoom: [{ show: true, type: "slider" }] }; ``` 此方法适用于当横坐标类别较多时,允许用户通过拖动滚杠查看不同部分的内容[^1]。 #### 解决 X 标签文字显示不全的问题 针对某些情况下 X 底部的文字可能出现部分无法正常呈现的现象,有两种主要解决方案可供选择: ##### 方案一:截断过长文本并添加省略号 对于较长的字符串型分类名称,可以在定义 `axisLabel` 参数时指定最大长度,并对超出限定范围的部分采用“…”代替。同时为了避免因自动调整间距而导致每隔几项才显示一次标签的情况发生,需额外设定 `interval=0` 来强制每项都可见。以下是具体的参数配置实例: ```javascript xAxis: [ { type: 'category', axisLabel: { interval: 0, rotate: 0, textStyle: { color: '#fff', fontSize: 16 }, show: true, formatter(value) { let str = value; if (value.length > 8) { str = value.slice(0, 7) + "..."; } return str; } } } ] ``` 上述代码片段实现了对超过八个字符以上的项目名进行裁剪处理,并保持所有项目的标签均被渲染出来[^2]。 ##### 方案二:倾斜或垂直排列标签 如果希望保留完整的原始文本而不做任何切割,则可以选择改变这些标签的角度以便更好地适应有限的空间。这同样是在 `xAxis.axisLabel` 下操作完成,只需简单地给定一个负数作为旋转度数即可让它们斜向分布;或者直接设为90度使其竖直排放,从而有效缓解横向空间不足带来的困扰。 ```javascript xAxis: [ { type: 'category', axisLabel: { rotate: -25 // 或者其他适合的角度值 } } ]; ``` 这种方法特别适合于那些拥有较短但数量众多类别的场景下使用。 #### 更多自定义样式 除了以上提到的基础功能外,还可以进一步定制化 X 以及其他方面的外观特性。比如交换 XY 的位置、更改网格线条风格等高级技巧也能显著提升可视化的效果。例如要将 Y 底纹更改为虚线以及把矩形柱子变成带有圆角边框的形式,就需要参照特定文档中的指导来进行相应的编码工作[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

kfepiza

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

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

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

打赏作者

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

抵扣说明:

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

余额充值