电商商城定制开发echarts文档解读

前言:电商商城定制开发今天给大家分享一个前电商商城定制开发端的开源可视化图标库echarts。

💕电商商城定制开发点击下方名片,电商商城定制开发即可领取学长个人微信💕

echarts

全局 echarts 对象,在 script 标签引入 echarts.js 电商商城定制开发文件后获得,或者在 AMD 电商商城定制开发环境中通过 require('echarts') 获得。

所有属性

 

Function

  1. (dom?: HTMLDivElement|HTMLCanvasElement, theme?: Object|string, opts?: {
  2. devicePixelRatio?: number,
  3. renderer?: string,
  4. useDirtyRect?: boolean, // 从 `5.0.0` 开始支持
  5. useCoarsePointer?: boolean, // 从 `5.4.0` 开始支持
  6. pointerSize?: number, // 从 `5.4.0` 开始支持
  7. ssr?: boolean, // 从 `5.3.0` 开始支持
  8. width?: number|string,
  9. height?: number|string,
  10. locale?: string // 从 `5.0.0` 开始支持
  11. }) => ECharts

创建一个 ECharts 实例,返回 ,电商商城定制开发不能在单个容器上初始化多个 ECharts 实例。

参数解释

  • dom

    实例容器,电商商城定制开发一般是一个具有高宽的 DIV 元素。电商商城定制开发只有在设置opts.ssr电商商城定制开发开启了服务端渲染后该参数才是可选。

    也支持直接使用canvas元素作为容器,这样绘制完图表可以直接将 canvas 作为图片应用到其它地方,例如在 中作为贴图,这跟使用  生成图片链接相比可以支持图表的实时刷新。

  • theme

    应用的主题。可以是一个主题的配置对象,也可以是使用已经通过  注册的主题名称。参见 。

  • opts

    附加参数。有下面几个可选项:

    • devicePixelRatio设备像素比,默认取浏览器的值window.devicePixelRatio
    • renderer 渲染模式,支持'canvas'或者'svg'。参见 。
    • ssr 是否使用服务端渲染,只有在 SVG 渲染模式有效。开启后不再会每帧自动渲染,必须要调用  方法才能得到渲染后 SVG 字符串。
    • useDirtyRect是否开启脏矩形渲染,只有在 Canvas 渲染模式有效,默认为false。参见 。
    • useCoarsePointer 是否扩大可点击元素的响应范围。null 表示对移动设备开启;true 表示总是开启;false 表示总是不开启。参见。
    • pointerSize 扩大元素响应范围的像素大小,配合 opts.useCoarsePointer使用。
    • width 可显式指定实例宽度,单位为像素。如果传入值为null/undefined/'auto',则表示自动取 dom(实例容器)的宽度。
    • height 可显式指定实例高度,单位为像素。如果传入值为null/undefined/'auto',则表示自动取 dom(实例容器)的高度。
    • locale 使用的语言,内置 'ZH' 和 'EN' 两个语言,也可以使用  方法注册新的语言包。目前支持的语言见 。

      如果不指定主题,也需在传入opts前先传入null,如:

      const chart = echarts.init(dom, null, {renderer: 'svg'});

注: 如果容器是隐藏的,ECharts 可能会获取不到 DIV 的高宽导致初始化失败,这时候可以明确指定 DIV 的style.widthstyle.height,或者在div显示后手动调用  调整尺寸。

在使用服务端渲染的模式下,必须通过opts.widthopts.height设置高和宽。

 

Function

(group:string|Array)

多个图表实例实现联动。

参数:

  • group group 的 id,或者图表实例的数组。

示例:

  1. // 分别设置每个实例的 group id
  2. chart1.group = 'group1';
  3. chart2.group = 'group1';
  4. echarts.connect('group1');
  5. // 或者可以直接传入需要联动的实例数组
  6. echarts.connect([chart1, chart2]);

 

Function

(group:string)

解除图表实例的联动,如果只需要移除单个实例,可以将通过将该图表实例 group 设为空。

参数:

  • group

    group 的 id。

 

Function

(target: ECharts|HTMLDivElement|HTMLCanvasElement)

销毁实例,实例销毁后无法再被使用。

 

Function

(target: HTMLDivElement|HTMLCanvasElement) => ECharts

获取 dom 容器上的实例。

 

Function

从 5.0.1 开始支持

使用组件,配合新的按需引入的接口使用。

注意:该方法必须在echarts.init之前使用。

  1. // 引入 echarts 核心模块,核心模块提供了 echarts 使用必须要的接口。
  2. import * as echarts from 'echarts/core';
  3. // 引入柱状图图表,图表后缀都为 Chart
  4. import {
  5. BarChart
  6. } from 'echarts/charts';
  7. // 引入直角坐标系组件,组件后缀都为 Component
  8. import {
  9. GridComponent
  10. } from 'echarts/components';
  11. // 引入 Canvas 渲染器,注意引入 CanvasRenderer 或者 SVGRenderer 是必须的一步
  12. import {
  13. CanvasRenderer
  14. } from 'echarts/renderers';
  15. // 注册必须的组件
  16. echarts.use(
  17. [GridComponent, BarChart, CanvasRenderer]
  18. );

更详细的使用方式见  一文

 

Function

  1. (
  2. mapName: string,
  3. opt: {
  4. geoJSON: Object | string;
  5. specialAreas?: Object;
  6. }
  7. )
  8. | (
  9. mapName: string,
  10. opt: {
  11. svg: Object | string;
  12. }
  13. )
  14. | (
  15. mapName: string,
  16. geoJSON: Object | string,
  17. specialAreas?: Object
  18. )

注册可用的地图,只在  组件或者  图表类型中使用。

使用方法见 。

参数:

  • mapName

    地图名称,在  组件或者  图表类型中设置的 map 对应的就是该值。

  • opt

    • geoJSON 可选。GeoJson 格式的数据,具体格式见 。可以是 JSON 字符串,也可以是解析得到的对象。这个参数也可以写为 geoJson,效果相同。

    • svg 可选。从 v5.1.0 开始支持SVG 格式的数据。可以是字符串,也可以是解析得到的 SVG DOM 对象。更多信息参见 。

    • specialAreas 可选。将地图中的部分区域缩放到合适的位置,可以使得整个地图的显示更加好看。只在 geoJSON 中生效,svg 中不生效。

示例 :

  1. echarts.registerMap('USA', usaJson, {
  2. // 把阿拉斯加移到美国主大陆左下方
  3. Alaska: {
  4. // 左上角经度
  5. left: -131,
  6. // 左上角纬度
  7. top: 25,
  8. // 经度横跨的范围
  9. width: 15
  10. },
  11. // 夏威夷
  12. Hawaii: {
  13. left: -110,
  14. top: 28,
  15. width: 5
  16. },
  17. // 波多黎各
  18. 'Puerto Rico': {
  19. left: -76,
  20. top: 26,
  21. width: 2
  22. }
  23. });

注:如果你在项目中使用了按需引入,从 v5.3.0 开始registerMap必须要在引入地图组件后才能使用。

 

Function

(mapName: string) => Object

获取已注册的地图,返回的对象类型如下

  1. {
  2. // 地图的 geoJSON 数据
  3. geoJSON: Object,
  4. // 地图的特殊区域,见 registerMap
  5. specialAreas: Object
  6. }

注:

  • geoJSON 也可写为 geoJson,二者引用的是相同的内容。
  • 对于 registerMap 所注册的 SVG ,暂并不支持从此方法中返回。
  • 如果你在项目中使用了按需引入,从 v5.3.0 开始getMap必须要在引入地图组件后才能使用。

 

Function

(themeName: string, theme: Object)

注册主题,用于的时候指定。

 

Function

从 5.0.0 开始支持

(locale: string, localeCfg: Object)

注册语言包,用于的时候指定。语言包格式见 

 

Function

从 5.3.0 开始支持

  1. (platformAPI?: {
  2. createCanvas(): HTMLCanvasElement
  3. measureText(text: string, font?: string): { width: number }
  4. loadImage(
  5. src: string,
  6. onload: () => void,
  7. onerror: () => void
  8. ): HTMLImageElement
  9. }) => void

设置平台相关的 API,在 NodeJS 等非浏览器平台的时候可能需要提供。

  • createCanvas 创建 Canvas 元素,主要用于测量文本宽度,在没提供measureText的时候需要提供。
  • measureText 测量文本宽度,默认会通过createCanvas得到 Canvas 元素提供的接口来测量文本宽度,也可以替换成更轻量的实现。
  • loadImage 加载图片,在使用 Canvas 渲染模式的时候并且使用 URL 作为图片的时候需要提供。

  

any

图形相关帮助方法。

  

Function

创建一个新的 shape class。

  1. (
  2. opts: Object
  3. ) => zrender.graphic.Path

更多的关于参数 opts 的细节,请参阅 。

  

Function

注册一个开发者定义的 shape class。

  1. (
  2. name: string,
  3. ShapeClass: zrender.graphic.Path
  4. )

ShapeClass 须用  生成。 注册后,这个 class 可以用  方法得到。 registerShape 会覆盖已注册的 class,如果用相同的 name 的话。 注册的 class,可以被用于  和 ,声明 {type: name} 即可。

例如:

  1. var MyShape = echarts.graphic.extendShape({
  2. shape: {
  3. x: 0,
  4. y: 0,
  5. width: 0,
  6. height: 0
  7. },
  8. buildPath: function (ctx, shape) {
  9. ctx.moveTo(shape.x, shape.y);
  10. ctx.lineTo(shape.x + shape.width, shape.y);
  11. ctx.lineTo(shape.x, shape.y + shape.height);
  12. ctx.lineTo(shape.x + shape.width, shape.y + shape.height);
  13. ctx.closePath();
  14. }
  15. });
  16. echarts.graphic.registerShape('myCustomShape', MyShape);
  17. var option = {
  18. series: {
  19. type: 'custom',
  20. coordinateSystem: 'none',
  21. renderItem: function (params, api) {
  22. return {
  23. type: 'myCustomShape',
  24. shape: {
  25. x: api.value(0),
  26. y: api.value(1),
  27. width: api.value(2),
  28. height: api.value(3)
  29. },
  30. style: {
  31. fill: 'red'
  32. }
  33. };
  34. },
  35. data: [[10, 20, 30, 40]]
  36. }
  37. };

  

Function

得到一个  好的 class。

  1. (
  2. name: String
  3. ) => zrender.graphic.Path

这些内置 shape class 会被默认预先注册进去: 'circle''sector''ring''polygon''polyline''rect''line''bezierCurve''arc'.

  

Function

输入一组点,和一个矩形,返回被矩形截取过的点。

  1. (
  2. // 要被截取的点列表,如 [[23, 44], [12, 15], ...]。
  3. points: Array.<Array.<number>>,
  4. // 用于截取点的矩形。
  5. rect: {
  6. x: number,
  7. y: number,
  8. width: number,
  9. height: number
  10. }
  11. ) => Array.<Array.<number>> // 截取结果。

  

Function

输入两个矩形,返回第二个矩形截取第一个矩形的结果。

  1. (
  2. // 要被截取的矩形。
  3. targetRect: {
  4. x: number,
  5. y: number,
  6. width: number,
  7. height: number
  8. },
  9. // 用于截取点的矩形。
  10. rect: {
  11. x: number,
  12. y: number,
  13. width: number,
  14. height: number
  15. }
  16. ) => { // 截取结果。
  17. x: number,
  18. y: number,
  19. width: number,
  20. height: number
  21. }

注意:如果矩形完全被截干净,会返回 undefined

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发