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 小时前
从 textarea 到 AI 输入框:用 Tiptap 实现 / 命令、@ 引用和结构化请求
前端·langchain·next.js
kyriewen4 小时前
程序员连夜带团队跑路,省了23万:这AI太贵,真的用不起了
前端·javascript·openai
kyriewen4 小时前
你写的代码没有测试,就像出门不锁门——Jest + Testing Library 从入门到不慌
前端·单元测试·jest
yuzhiboyouye5 小时前
web前端英语面试
前端·面试·状态模式
canonical_entropy6 小时前
下一代低代码渲染框架 nop-chaos-flux 的设计原则
前端·低代码·前端框架
东方小月6 小时前
5分钟搞懂Harness Engineering(驾驭工程):从提示词到AI Agent的进化之路
前端·后端·架构
我叫黑大帅6 小时前
为什么需要 @types/react?解决“无法找到模块 react 的声明文件”报错
前端·javascript·面试
之歆7 小时前
DAY_21JavaScript 深度解析:数组(Array)与函数(Function)(一)
前端·javascript
XinZong7 小时前
【AI社交】基于OpenClaw自研轻量化AI社交平台实战
前端
Le_ee8 小时前
ctfweb:php/php短标签/.haccess+图片马/XXE
开发语言·前端·php