阅读 685

echarts配置项理解(echarts的使用)

但是在开发过程中,我发现echarts的文档配置项太多,第一次开发的时候实在是头疼,因为我找不到自己想要的配置项,而且我也不知道有的需求是否会有,所以第一次开发的时候踩了很多坑,当时也求助了很多人,发现有的需求可以通过配置项去实现,有的特殊需求可能需要自己手写

所以就把这个记录记录一下,希望能给同样成长的你带来帮助

安装

npm install echarts --save复制代码

引入

全部引入

import * as echarts from 'echarts';



// 基于准备好的dom,初始化echarts实例

var myChart = echarts.init(document.getElementById('main'));

// 绘制图表

myChart.setOption({

  title: {

    text: 'ECharts 入门示例'

  },

  tooltip: {},

  xAxis: {

    data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']

  },

  yAxis: {},

  series: [

    {

      name: '销量',

      type: 'bar',

      data: [5, 20, 36, 10, 10, 20]

    }

  ]

});复制代码

也可以使用这种写法

import * as echarts from 'echarts';



var chartDom = document.getElementById('main');

var myChart = echarts.init(chartDom);

var option;



option = {

  xAxis: {

    type: 'category',

    data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']

  },

  yAxis: {

    type: 'value'

  },

  series: [

    {

      data: [150, 230, 224, 218, 135, 147, 260],

      type: 'line'

    }

  ]

};



option && myChart.setOption(option);复制代码

上面的代码会引入所有 ECharts 中所有的图表和组件,如果你想按需引入

可以使用下面的方法

按需引入 ECharts 图表和组件

// 引入 echarts 核心模块,核心模块提供了 echarts 使用必须要的接口。

import * as echarts from 'echarts/core';

// 引入柱状图图表,图表后缀都为 Chart

import { BarChart } from 'echarts/charts';

// 引入提示框,标题,直角坐标系,数据集,内置数据转换器组件,组件后缀都为 Component

import {

  TitleComponent,

  TooltipComponent,

  GridComponent,

  DatasetComponent,

  DatasetComponentOption,

  TransformComponent

} from 'echarts/components';

// 标签自动布局,全局过渡动画等特性

import { LabelLayout, UniversalTransition } from 'echarts/features';

// 引入 Canvas 渲染器,注意引入 CanvasRenderer 或者 SVGRenderer 是必须的一步

import { CanvasRenderer } from 'echarts/renderers';



// 注册必须的组件

echarts.use([

  TitleComponent,

  TooltipComponent,

  GridComponent,

  DatasetComponent,

  TransformComponent,

  BarChart,

  LabelLayout,

  UniversalTransition,

  CanvasRenderer

]);



// 接下来的使用就跟之前一样,初始化图表,设置配置项

var myChart = echarts.init(document.getElementById('main'));

myChart.setOption({

  // ...

});复制代码

需要注意的是注意为了保证打包的体积是最小的,ECharts 按需引入的时候不再提供任何渲染器,所以需要选择引入 CanvasRenderer 或者 SVGRenderer 作为渲染器。这样的好处是假如你只需要使用 svg 渲染模式,打包的结果中就不会再包含无需使用的 CanvasRenderer 模块。

我们在示例编辑页的“完整代码”标签提供了非常方便的生成按需引入代码的功能。这个功能会根据当前的配置项动态生成最小的按需引入的代码。你可以直接在你的项目中使用。

配置项

下面没有具体的取值分析,你可以在这里查找到自己所需要的配置项,然后在文档中查找一下

公共配置项:

显示和隐藏:show

标题:title

标题:text

标题样式:textStyle

文字大小:fontSize

副标题:subtext

副标题样式:subtextStyle

文字大小:fontSize

显示与隐藏:show

距盒子左边框:left

距盒子上边框:left

图例:legend

显示和隐藏:show

类型:type

内边距:padding 如果看起来不明显,可以设置border来显示边框再进行设置

边框的颜色: borderColor

边框线宽:borderWidth

height:图例所在的大盒子的高度

是否可以点击图例来进行控制图表中的相关数据的显示和隐藏:selectedMode

图例列表的布局朝向:orient

图例列表的位置控制:

Top

Left

图例的间隔:itemGap

单个图例的宽度:itemWidth

高度:itemHeight

自定义格式化图例文本:formatter 这个比较复杂,根据需求会单独讲一下

位置:grid

距盒子上边框:top

距盒子右边框:right

距盒子下边框:bottom

距盒子左边框:left

x轴:xAxis

X轴代表的内容名称:name

坐标轴的类型:type 有时间、数值、对数等

坐标轴的刻度:axisTick

显示与隐藏:show

刻度线是否与x轴刻度(也就是下图中的mon、tue等)对齐:alignWithLabel

数据:data

坐标轴刻度的相关设置:axisLabel

显示与隐藏:show

字体大小:fontSize

坐标轴刻度标签的显示间隔,在类目轴中有效:interval

y轴:yAxis

显示的位置:position 因为y轴有时候在左边,有时候在右边

坐标轴类型:type

刻度名称:data

分割的段数:splitNumber 要注意有生效条件

坐标轴的最小间隔大小:minInterval

坐标轴当前状态下显示的最大值:max 要注意该属性设置后,你的数据超过了这个值,它的图会向上延伸,但是不会自动适应

坐标轴两边留白(当):boundaryGap 这个配置项的应用场景我还没遇到,在网上查到一个是坐标轴的数据和边上的文字会重合,如下图,这个时候通过设置该属性进行两边留白。 需要注意的是该属性有生效要求,类目轴和非类目轴的设置和表现形式都不一样。

z轴

图表类型:series

折线图:type: 'line'

数据:data ['11', '12'] 这种数据格式也可以识别,不用再次转换

颜色:color 除了英文的red等颜色识别,可以设置rbg颜色['rgb(51, 148, 246)']

每一项值的标记:symbol 也就是图中描点还是画三角来表示值(实心圆为'circle')

标记的大小:symbolSize

条形图:type: 'bar'

数据:data ['11', '12'] 这种数据格式也可以识别,不用再次转换

以上就是我暂时遇到的配置项,可以满足简单的定制化需求

如果你有其他问题,可以查阅当前分类的文章解决方案

如果你有更好的看法可以在下面留言求助或交流♥️

后续会继续完善和修改


作者:任平生_掘金
链接:https://juejin.cn/post/7032965047525572615

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐