Echarts 小需求实现

接上次的Echarts需求实现,本次再总结几个配置实现的方案。

修改图例组件

本次针对图例组件的修改主要涉及:

  • 修改图例大小
  • 去掉图例上的小圆圈

图例的相关配置都在 option.legend 属性中。

修改图例大小

比如图例宽度太小,想要让它显示的大一些。

javascript 复制代码
/** @format */

option = {
    legend: {
        itemWidth: 60
    }
};

效果如下:

去掉图例上的小圆圈

有些时候,我们不想让图例上显示小圆圈,可以这样配置:

javascript 复制代码
/** @format */

option = {
    legend: {
        itemHeight: 0
    }
};

效果如下:

双坐标轴注意事项

一般常用的双(或多)Y 坐标轴,常见场景是两种类型的值相差较大,使用一个坐标轴会影响视觉体验,这时候就可以考虑使用多坐标轴。

比如下面这个图的观看体验就很不好:

我们来将 'Step Start' 和 'Step Middle' 分别对应一个Y轴以优化体验,配置如下:

javascript 复制代码
/** @format */

option = {
    xAxis: {
        type: "category",
        data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
    },
    yAxis: [
        {
            name: "Step Start",
            type: "value"
        },
        {
            name: "Step Middle",
            type: "value",
            position: "right",
            alignTicks: true,
            offset: 80,
            axisLine: {
                show: true,
                lineStyle: {
                    color: "green"
                }
            },
            axisLabel: {
                formatter: "{value} ml"
            }
        },
        {
            name: "Step End",
            type: "value",
            position: "right",
            alignTicks: true,
            // offset: 80,
            axisLine: {
                show: true,
                lineStyle: {
                    color: "green"
                }
            }
        }
    ],
    series: [
        {
            name: "Step Start",
            type: "line",
            step: "start",
            yAxisIndex: 0,
            data: [1200, 1320, 1010, 1340, 900, 2300, 2100]
        },
        {
            name: "Step Middle",
            type: "line",
            step: "middle",
            yAxisIndex: 1,
            offset: 200,
            data: [22, 28, 20, 23, 29, 43, 41]
        },
        {
            name: "Step End",
            type: "line",
            step: "end",
            yAxisIndex: 2,
            data: [45000, 43200, 40100, 45400, 59000, 53000, 51000]
        }
    ]
};

重点:

  • option.yAxis 是数组形式,规定了三个 Y 坐标轴;
  • option.series 中的每组数据,使用了 yAxisIndex 属性来表示对应的是哪个坐标轴,其值为 option.yAxis 中对应坐标轴的下标。

总结

这些配置本身没什么难度,查查文档都能找到对应的配置项,之所以记录下来主要是自己的工作习惯就是如此,

相关推荐
壹方秘境2 小时前
ApiCatcher支持抓包HTTP传输大文件的实现原理分享
前端·后端·客户端
一份执念3 小时前
uni-app项目 (vue+vite + uni-UI)中引入umd格式JS文件,微信小程序中导入报错处理方案
前端·uni-app·echarts
ClouGence3 小时前
2026 年自动化测试工具选型指南:8 款主流工具对比
前端·测试
lichenyang4533 小时前
为什么需要双线程通信、JavaScriptProxy 和 runJavaScript 分别干什么
前端
以和为贵4 小时前
前端也能搞懂 RAG:用 JS 手写一条最小检索增强链路
前端·人工智能·面试
风止何安啊4 小时前
网课倍速痛点解决:一套前端代码实现自由控速播放器
前端·javascript·node.js
牧艺4 小时前
用 Next.js + React Three Fiber 打造 3D 快递仓储可视化
前端·three.js
锋行天下5 小时前
如何用Vite实现Vue组件的按需打包和远程加载
前端·vue.js·前端框架
光影少年5 小时前
原生DOM操作在React 中的注意事项
前端·javascript·react.js
禅思院7 小时前
前端部署“三层漏斗”完全指南:从CI/CD到自动回滚的工程化实战【开题】
前端·架构·前端框架