1.3.8 • Published 8 months ago

vue-echarts-linkage v1.3.8

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

vue-echarts-linkage

1. 介绍

vue-echarts-linkage 是基于 Vue3 + TypeScript + Element Plus 实现的联动组件,可以实现多个图表之间的联动。

2. demo演示

2.1 基础联动

多图表联动放缩,Y轴同步对齐

基础联动

2.2 图例联动

图例显示隐藏同步,重置图例位置显示,移除图例等 图例联动

2.3 开关量显示

开关量显示

2.4 图形定位

图形定位

2.5 主题背景自定义

背景色自定义,白天黑夜切换

主题背景自定义

2.6 容器尺寸实时自适应

容器尺寸实时自适应,图表内容字体和位置自适应容器大小

容器尺寸实时自适应

2.7 联动模式切换

非联动模式,开关量显示,图形定位,主题背景自定义,容器尺寸实时自适应 联动模式切换

3. 安装及使用组件

3.1 安装组件

# 安装依赖
npm install vue-echarts-linkage
or
pnpm install vue-echarts-linkage

# 全局安装组件
import VueEchartsLinkage from "vue-echarts-linkage";
import "vue-echarts-linkage/dist/style.css";
...
const app = createApp(App);
app.use(VueEchartsLinkage);

# 按需引入组件
import { VueEchartsLinkage } from "vue-echarts-linkage";
import "vue-echarts-linkage/dist/style.css";

3.2 使用组件

<template>
  ...
  <VueEchartsLinkage 
    ref="echartsLinkageRef" 
    :cols="1" 
    :echarts-max-count="10"
    :echarts-colors="['red', 'blue', 'green', 'yellow', 'goldenrod', 'skyblue']" 
    language="zh-cn"
    grid-align
    ...
    @drop-echart="dropEchart" />
</template>
import { VueEchartsLinkage, type OneDataType, type SeriesTagType, type DropEchartType  } from 'vue-echarts-linkage';
import "vue-echarts-linkage/dist/style.css";
...
const echartsLinkageRef = ref<InstanceType<typeof VueEchartsLinkage>>();
...
// 拖拽回调事件
const dropEchart = (data: dropEchartType) => {
  // 处理拖拽回调后逻辑
  ...
}

4. 组件属性

属性名类型说明默认值
colsnumber自定义配置的显示列数1,即单列
echarts-max-countnumber允许的最大图表数7
empty-echart-countnumber初始化生成的空白图表数
echarts-colorsstring[]legend、series和对应Y轴颜色数组'#0078FF', '#FFAA2E', '#00FF00', '#9D2EFF', '#DA1D80', '#DA4127'
segmentnumber / { mode: 'interval' | 'percent', value: number }标线分段数, number表示分段数,object表示分段配置;当mode为'interval'时,value表示分段数,当mode为'percent'时,表示显示能被value整除的数值-
languagezh-cn / en-us语言设置,目前只支持中文(zh-cn)和英文(en-us)zh-cn,即中文
grid-alignboolean多echarts图表是否对齐false
themelight / dark主题,light为浅色,dark为深色light
backgroundstring背景色,一般配合主题使用
is-linkageboolean是否联动true,即联动
use-merged-legendboolean是否使用合并图例true,即使用合并图例
use-graphic-locationboolean是否使用图形定位true,即使用图形定位

5. 组件事件

事件名说明参数
drop-echart拖拽图表回调事件,返回当前拖拽的图表id(data.id)(data: DropEchartType)
delete-echart删除图表回调事件,返回当前删除的图表id(data.id)(data: DeleteEchartType)
listener-graphic-location监听图形定位事件,返回所有图形定位信息(data: ListenerGrapicLocationType)

6. 组件方法

方法名说明参数
addEchart添加一个echarts图表(data?: OneDataType / OneDataType[]) => void
addEchartSeries新增echarts系列,一般配置拖拽回调事件(@drop-echart)使用(id: string, data: OneDataType) => void
deleteEchart根据echarts的id删除echarts(id: string) => Promise<void>
getDataLength获取数据总数() => number
getMaxEchartsIdSeq获取最大的id序号() => number
getAllDistinctSeriesTagInfo获取所有不重复系列的标签信息() => Array<SeriesTagType>
getAllSeriesTagInfo,获取所有系列的标签信息(echartsId?: string) => Array<{ id: string; series: Array<SeriesTagType>; }>
updateAllEcharts传入所有显示子项数据,更新所有echarts,一般配置 getAllDistinctSeriesTagInfo() 使用(newAllSeriesdata: Array<SeriesTagType>) => Promise<void>
clearAllEchartsData清空所有echarts数据:当mode为'clear'时,清除数据保留当前空白echarts实例,当mode为'delete'时,删除当前实例(mode?: "clear" / "delete") => Promise<void>
replaceAllEchartsData替换所有echarts,内部为先清除再添加,保证新旧echarts图表数量和数据不存在关联性(newDataArray: Array<OneDataType[]>) => Promise<void>
downloadAllEchartsImg下载包含所有echarts实例的图片() => void
realTimeUpdate新增实时数据更新(allRealTimeData: Array<SeriesTagType>, limitCount?: number) => void
updateOneEchartsVisualMapSeries更新单个echarts的visualMap数据,自定义每个series中不同报警区间,默认报警色为红色(id: string, data: VisualMapSeriesType[] / VisualMapSeriesType) => void
handleMultipleLinkData处理前后关联数据,多条关联数据进行首尾相连操作(primaryData: OneDataType) => OneDataType
1.3.8

8 months ago

1.3.7

8 months ago

1.3.6

8 months ago

1.3.5

8 months ago

1.3.4

8 months ago

1.3.3

8 months ago

1.3.2

8 months ago

1.3.1

8 months ago

1.3.0

8 months ago

1.2.0

8 months ago

1.0.2

9 months ago

1.0.1

9 months ago

1.0.0

9 months ago

1.2.5

8 months ago

1.2.4

8 months ago

1.2.3

8 months ago

1.0.5

9 months ago

1.2.2

8 months ago

1.0.4

9 months ago

1.2.1

8 months ago

1.0.3

9 months ago

1.2.0-beta.1

8 months ago

1.2.0-beta.3

8 months ago

1.2.0-beta.2

8 months ago

0.0.5-beta.1

9 months ago

0.0.5-beta.2

9 months ago

0.0.4-beta.2

9 months ago

0.0.3-beta.2

9 months ago

0.0.2-beta.3

9 months ago

0.0.5-beta.3

9 months ago

0.0.4-beta.1

9 months ago

0.0.3-beta.3

9 months ago

0.0.4-beta.3

9 months ago

0.0.3-beta.1

9 months ago

0.0.3-beta.4

9 months ago

0.0.2-beta.1

9 months ago

0.0.3-beta.5

9 months ago

0.0.2-beta.2

9 months ago

1.1.1

9 months ago

1.1.0

9 months ago

1.1.5

8 months ago

1.1.4

9 months ago

1.1.3

9 months ago

1.1.2

9 months ago

1.0.0-beta.2

9 months ago

1.0.0-beta.3

9 months ago

1.0.0-beta.4

9 months ago

1.0.2-beta.1

9 months ago

1.0.0-beta.5

9 months ago

1.0.0-beta.1

9 months ago

0.0.3

9 months ago

0.0.2

9 months ago

1.0.0-beta.6

9 months ago

0.0.5

9 months ago

0.0.4

9 months ago

0.0.1

10 months ago