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

总结

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

相关推荐
a1117767 分钟前
Markdown生成思维导图(html 开源)
前端·开源·html
我命由我1234518 分钟前
React - state、state 的简写方式、props、props 的简写方式、类式组件中的构造器与 props、函数式组件使用 props
前端·javascript·react.js·前端框架·html·html5·js
钰衡大师19 分钟前
Vue 3 源码学习教程
前端·vue.js·学习
C澒20 分钟前
React + TypeScript 编码规范|统一标准 & 高效维护
前端·react.js·typescript·团队开发·代码规范
时光少年37 分钟前
Android 视频分屏性能优化——GLContext共享
前端
IT_陈寒1 小时前
JavaScript开发者必知的5个性能杀手,你踩了几个坑?
前端·人工智能·后端
跟着珅聪学java1 小时前
Electron 精美菜单设计
运维·前端·数据库
日光倾1 小时前
【Vue.js 入门笔记】闭包和对象引用
前端·vue.js·笔记
一只程序熊1 小时前
UniappX 未找到 “video“ 组件,已自动当做 “view“ 组件处理。请确保代码正确,或重新生成自定义基座后再试。
前端
林小帅1 小时前
【笔记】xxx 技术分享文档模板
前端