echarts基础

2021-11-29 jsecharts

# echarts 基本介绍

Echarts-介绍
常见的数据可视化库:
1 D3.js 目前 Web 端评价最高的 Javascript 可视化工具库(入手难)
2 ECharts.js 百度出品的一个开源 Javascript 数据可视化库
3 Highcharts.js 国外的前端数据可视化库,非商用免费,被许多国外大公司所使用
4 AntV 蚂蚁金服全新一代数据可视化解决方案 等等
5 Highcharts 和 Echarts 就像是 Office 和 WPS 的关系

ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上, 兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari 等), 底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。

# vue 中使用

全局注入
import * as echarts from 'echarts'
Vue.prototype.$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({
	// ...
})

# 初始化容器

1 指定容器宽度和高度
<div id="main" style="width: 600px;height:400px;"></div>
<script type="text/javascript">
  var myChart = echarts.init(document.getElementById('main'));
</script>
//需要注意的是,使用这种方法在调用 echarts.init 时需保证容器已经有宽度和高度了。

2 指定图表的宽高
//如果图表容器不存在宽度和高度,或者,你希望图表宽度和高度不等于容器大小,也可以在初始化的时候指定大小。
<div id="main"></div>
<script type="text/javascript">
  var myChart = echarts.init(document.getElementById('main'), null, {
    width: 600,
    height: 400
  });
</script>

3 相应容器大小变化
window.onresize = function(){
  chart.resize()
}

4 容器节点销毁
echartsInstance.dispose() 销毁实例

# 坐标轴

xAxis:{
  type://坐标轴类型
  boundaryGap: //
  axisTick: { //刻度尺
    alignWithLabel: true, //刻度对齐
    lineStyle: {
      color: 'red',
      width: 5,
      tpye: 'solid',
    },
  },
}

# 加载动画

chart.showLoading;
(异步请求done) => {
	chart.hideLoading();
  chart.showLoading.setOption(...)
}
最后更新于: 2022年11月16日 19:31