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 中对应坐标轴的下标。

总结

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

相关推荐
小陈工14 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
xiaotao13118 小时前
第九章:Vite API 参考手册
前端·vite·前端打包
午安~婉18 小时前
Electron桌面应用聊天(续)
前端·javascript·electron
彧翎Pro19 小时前
基于 RO1 noetic 配置 robosense Helios 32(速腾) & xsense mti 300
前端·jvm
小码哥_常19 小时前
解锁系统设置新姿势:Activity嵌入全解析
前端
之歆19 小时前
前端存储方案对比:Cookie-Session-LocalStorage-IndexedDB
前端
哟哟耶耶19 小时前
vue3-单文件组件css功能(:deep,:slotted,:global,useCssModule,v-bind)
前端·javascript·css
是罐装可乐19 小时前
深入理解“句柄(Handle)“:从浏览器安全到文件系统访问
前端·javascript·安全
华科易迅19 小时前
Vue如何集成封装Axios
前端·javascript·vue.js
康一夏19 小时前
Next.js 13变化有多大?
前端·react·nextjs