0.3.17 • Published 2 years ago

vc-chart v0.3.17

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

vc-chart

安装

npm i vc-chart echarts echarts-liquidfill

使用

import Vue from 'vue'
import App from './App.vue'
import VcChart from 'vc-chart'

Vue.use(VcChart)
new Vue({
  render: h => h(App),
}).$mount('#app')
<template>
  <div id="app">
    <vc-chart :data='chartData'
              type='histogram'
              :extend='extend'
              :setting='chartSetting'
              ref="reHistogramChart" />
  </div>
</template>

<script>

export default {
  data(){
    return{
      chartSetting:{},
      extend:{}, 
      chartData:{
            columns:['date','test1'],
            rows:[
                {'date':'1/1','test1':150,'test2':100,'test3':100,'test4':100},
                {'date':'1/2','test1':100,'test2':150,'test3':150,'test4':150},
                {'date':'1/3','test1':200,'test2':250,'test3':250,'test4':250},
                {'date':'1/4','test1':200,'test2':300,'test3':300,'test4':300},
                {'date':'1/1','test1':150,'test2':100,'test3':100,'test4':100},
              ]
            }
    }
  },
}
</script>

图表配置项

配置项简介类型默认值
colors设置图表的系列颜色array-
height设置图表的高度string400px
setting配置项object-
extend更方便的设置图表的属性,对配置项设置的属性进行并和object-
type设置图片类型stringline
isDark是否设置黑暗模式booleanfalse
data数据object,number,string,array-

extend

为了能够更方便的设置属性配置项等,可以通过extend属性实现对已配置好的内部属性进行单独的设置, extend为对象类型,对象内的属性可以是函数,也可以对象,也可以是其他类型的值

  • 当属性为函数时,设置的是函数的返回值
  • 当属性为对象时,如果在options中对应的属性为对象(eg: tooltip)或包含对象的数组(eg: series), 对应的配置会被合并,否则将直接覆盖对应的配置

data

针对不同的的图表data的数据结构是多变的,但一般情况都会使用下面的结构进行

data:{
    columns:['date','test1','test2','test3'],
    rows:[
          {'date':'1/1','test1':150,'test2':100,'test3':1000,'test4':100},
          {'date':'1/2','test1':100,'test2':150,'test3':150,'test4':150},
          {'date':'1/3','test1':200,'test2':250,'test3':250,'test4':250},
          {'date':'1/4','test1':200,'test2':300,'test3':300,'test4':300},
          {'date':'1/1','test1':150,'test2':100,'test3':100,'test4':100},
          {'date':'1/2','test1':100,'test2':150,'test3':150,'test4':150},
         ]
}
  • columns 中是维度和指标的集合,vc-chart 中的大部分图表都是单维度多指标,所以默认第一个值为 维度,剩余的值为指标
  • rows 中是数据的集合。

一些特殊的图表则会以其他的数据结构进行

环形进度条图(ring-progress-bar) 、仪表板(gauge)、栅格占比仪表板(grid-gauge)这三种图表的data形式则会通过填写数字的形式进行

data:20

水球图(liquidfill) 则是通过传递一个数组来展示数据

data:[0.6,0.4,0.2]

获取图表的dom

// xxxx代表自己定义的名称
this.$ref['xxxxx'].getDom()

折线图

标识 line

image.png

配置项

配置项简介类型备注
legend是否显示图例组件boolean-
dataZoom是否显示缩放工具boolean-
area是否显示为面积图boolean-
forecast是否显示为预测图boolean虚线为预测值,实线为实际值
forecastPoint预测点number当forecast为true时生效
label是否显示每个点的数值boolean-
smooth设置曲线是否圆滑boolean-
boundaryGap坐标两边是否要要留白boolean默认为true
legendName设置图表上方图例的别名object-
yAxisName纵坐标的标题array-
stack是否展示堆叠层boolean当forecas为true时无效,且该配置项配合area使用
itemStyle设置图表的样式objectforecast 值为true是失效

itemStyle

配置项简介类型备注
label指定类型string-
backgroundColor设置线条颜色array一种颜色是时候为单色,多于一种颜色的时候为渐变色
borderColor设置转折点的颜色string-
borderWidth设置转折点大小number/string-

legendName 可以设置 图表上的图例别名 例如:legendName :{ 'test1': '测试1' } 即将test1的图例名称修改为‘测试1’

柱状图

标识  histogram

histogram.png

配置项

配置项简介类型备注
dataZoom设置是否显示缩放条boolean-
legend是否显示图例组件boolean-
legendName设置图表上方图例的别名object-
yAxisName设置纵坐标的标题array-
stack是否展示堆叠层boolean-
dataOrder设置排序object默认不排序
label是否显示数据的文本boolean-
radius设置柱状图的圆角number-
isAllRadius是否四个角都使用圆角boolean当radius有值时生效
itemStyle设置柱状图的样式array-
zebraCrossing是否添加斑马线boolean当stack为true时失效
zebraCrossingStyle设置斑马线的样式object当zebraCrossing为true时生效
groupColor以组为单位进行颜色设置boolean默认为false
groupColorStyle设置组的颜色array在groupColor开启时生效
showLine设置一个或者几个指标以折线图的形式展示array-

dataOrder 可以设置 desc 和 acs  设置   dataOrder: { label: 'test1',order: 'acs' }  即将test1的数据从小到大排序

legendName 可以设置 图表上的图例别名 例如:legendName :{ 'test1': '测试1' } 即将test1的图例名称修改为‘测试1’

groupColor 设置为true后柱状图中的,将为每一组数据设置为同一种颜色,不同组的数据颜色将不一样,可以通过groupColorStyle属性对每一组数据的颜色进行设置。

以下为 groupColor 关闭 和 开启 后柱状图的显示情况

imgimg

可以通过groupColorStyle属性对柱状图的颜色进行修改,groupColorStyle:['red','#01EAED','#029ED9','green'],如果填入的是一个数组的话就会以渐变的形式进行展示

itemStyle

配置项简介类型备注
label指定类型string-
backgroundColor设置柱状图颜色array一种颜色是时候为单色,多于一种颜色的时候为渐变色
borderColor设置柱状图边框颜色string-
borderWidth设置柱状图边框大小number/string-

zebraCrossingStyle

配置项简介类型备注
backgroundColor设置斑马线状态下的背景颜色string-
lineColor设置斑马线的颜色string-

条形图

标识  bar

image.png

配置项

配置项简介类型备注
dataZoom设置是否显示缩放条boolean-
legend是否显示图例组件boolean-
legendName设置图表上方图例的别名object-
yAxisName设置纵坐标的标题array-
stack是否展示堆叠层boolean-
dataOrder设置排序object默认不排序
label是否显示数据的文本boolean-
radius设置柱状图的圆角number-
isAllRadius是否四个角都使用圆角boolean当radius有值时生效
itemStyle设置柱状图的样式array-
zebraCrossing是否添加斑马线boolean当stack为true时失效
zebraCrossingStyle设置斑马线的样式object当zebraCrossing为true时生效
groupColor以组为单位进行颜色设置boolean默认为false
groupColorStyle设置组的颜色array在groupColor开启时生效

dataOrder 可以设置 desc 和 acs  设置   dataOrder: { label: 'test1',order: 'acs' }  即将test1的数据从小到大排序

legendName 可以设置 图表上的图例别名 例如:legendName :{ 'test1': '测试1' } 即将test1的图例名称修改为‘测试1’

groupColor 设置为true后柱状图中的,将为每一组数据设置为同一种颜色,不同组的数据颜色将不一样,可以通过groupColorStyle属性对每一组数据的颜色进行设置。

以下为 groupColor 关闭 和 开启 后柱状图的显示情况

img

img

可以通过groupColorStyle属性对柱状图的颜色进行修改,groupColorStyle:['red','#01EAED','#029ED9','green'],如果填入的是一个数组的话就会以渐变的形式进行展示

itemStyle

配置项简介类型备注
label指定类型string-
backgroundColor设置柱状图颜色array一种颜色是时候为单色,多于一种颜色的时候为渐变色
borderColor设置柱状图边框颜色string-
borderWidth设置柱状图边框大小number/string-

zebraCrossingStyle

配置项简介类型备注
backgroundColor设置斑马线状态下的背景颜色string-
lineColor设置斑马线的颜色string-

塔状图

标识  tower

image.png

配置项

配置项简介类型备注
dataZoom设置是否显示缩放条boolean-
yAxisName设置纵坐标的标题array-
label是否显示数据的文本boolean默认true
itemStyle设置柱状图的样式array-

itemStyle

配置项简介类型备注
label指定类型string-
backgroundColor设置柱状图颜色array一种颜色是时候为单色,多于一种颜色的时候为渐变色
borderColor设置柱状图边框颜色string-
borderWidth设置柱状图边框大小number/string-

双向图

标识  biaxial

image.png

配置项

配置项简介类型备注
dataZoom设置是否显示缩放条boolean-
yAxisName设置纵坐标的标题array-
legendName设置图表上方图例的别名object-
label是否显示数据的文本boolean默认true
itemStyle设置柱状图的样式array-

legendName 可以设置 图表上的图例别名 例如:legendName :{ 'test1': '测试1' } 即将test1的图例名称修改为‘测试1’

itemStyle

配置项简介类型备注
label指定类型string-
backgroundColor设置柱状图颜色array一种颜色是时候为单色,多于一种颜色的时候为渐变色
borderColor设置柱状图边框颜色string-
borderWidth设置柱状图边框大小number/string-

饼图

标识  pie

image.png

配置项

配置项简介类型备注
legend是否显示图例组件boolean-
radius设置半径number默认100
center设置圆心位置array默认'50%','50%'
level设置多圆饼图array-
hoverAnimation是否开启 hover 在扇区上的放大动画效果boolean默认值为true
roseType设置为玫瑰图图string可选值:'radius'和'area'
legendName设置图表上方图例的别名object-
label是否显示数据的文本boolean默认true
itemStyle设置饼图的样式array-

level 的值接受二维数组,例如:['a', 'b', 'c', 'd'], 表示的含义是内层展示的是维度中的'a', 'b'的指标加在一起组成的饼图,外层为'c', 'd'的指标加在一起组成的环图。

roseType 接收两个值 'radius' 和 'area'

  • 'radius' 扇区圆心角展现数据的百分比,半径展现数据的大小。
  • 'area' 所有扇区圆心角相同,仅通过半径展现数据大小。

legendName 可以设置 图表上的图例别名 例如:legendName :{ '1/1': '测试1' } 即将 1/1 的图例名称修改为‘测试1’ 注意:上面所描述的 '1/1' 为 rows 中的维度里的值

itemStyle

配置项简介类型备注
label指定类型string-
backgroundColor设置饼图颜色array一种颜色是时候为单色,多于一种颜色的时候为渐变色
borderColor设置饼图边框颜色string-
borderWidth设置饼图边框大小number/string-

雷达图

标识  radar

img

配置项

配置项简介类型备注
legend是否显示图例组件boolean-
radius设置半径array默认70,100
center设置圆心位置array默认'50%','50%'
indicatorName设置指标名称object-
symbolSize设置数据标记的大小number默认为0
indicatorColor设置指标的颜色string-
axisLineColor设置坐标轴轴线的颜色string-
splitLineColor设置分隔线的颜色string-
splitArea设置分隔区域的颜色array-
itemStyle设置区域填充的颜色array-

indicatorName可以设置图表上的指标别名 例如:indicatorName :{ 'test1': '测试1' } 即将 test1 的指标名称修改为‘测试1’

splitArea通过在数组中加入设置的颜色即可修改分隔区域的颜色,例如:splitArea:'red','blue','green'

itemStyle

配置项简介类型备注
label指定类型string例如上图的 '1/1'
backgroundColor设置区域填充的颜色array一种颜色是时候为单色,多于一种颜色的时候为渐变色
x渐变圆心的横坐标number默认0.5
y渐变圆心的纵坐标number默认0.5
r渐变圆心的半径number默认0.5

环形图

标识  ring

image.png

配置项

配置项简介类型备注
legend是否显示图例组件boolean-
radius设置半径array默认70,100
center设置圆心位置array默认'50%','50%'
hoverAnimation是否开启 hover 在扇区上的放大动画效果boolean默认为true
roseType设置为玫瑰图图string可选值:'radius'和'area'
interval开启饼图的间隔boolean默认为false
outerRing显示外环boolean默认为false
innerRing显示内环boolean默认为false
innerRingAnimation是否开启内环的旋转动画boolean默认为false
borderRadius设置圆角number默认为0
legendName设置图表上方图例的别名object-
label是否显示数据的文本boolean默认true
itemStyle设置饼图的样式array-

roseType 接收两个值 'radius' 和 'area'

  • 'radius' 扇区圆心角展现数据的百分比,半径展现数据的大小。
  • 'area' 所有扇区圆心角相同,仅通过半径展现数据大小。

legendName 可以设置 图表上的图例别名 例如:legendName :{ '1/1': '测试1' } 即将 1/1 的图例名称修改为‘测试1’ 注意:上面所描述的 '1/1' 为 rows 中的维度里的值

itemStyle

配置项简介类型备注
label指定类型string-
backgroundColor设置环形图颜色array一种颜色是时候为单色,多于一种颜色的时候为渐变色
borderColor设置环形图边框颜色string-
borderWidth设置环形图边框大小number/string-

当 innerRing 为 true 时backgroundColor只会取数组中的第一位作为背景颜色

环形进度条

标识  ring-progress-bar

image.png

配置项

配置项简介类型备注
radius设置半径array默认70,100
center设置圆心位置array默认'50%','50%'
label是否显示数据的文本boolean默认true
labelSize设置文本的大小number默认50
labelColor设置文字的颜色string默认'#888888'
labelShadowColor设置文字的阴影颜色string-
labelShadowBlur设置文字的阴影大小number-
pieces自定义进度条的颜色array-
backgroundStyle设置圆环的底色string默认'#464451'
itemStyle设置饼图的样式array当pieces启用时,itemStyle的backgroundColor样式失效

pieces 属性可以设置圆环在处于不同数值下是颜色状态,例如:pieces:{ min: 10, max: 50, color: 'red' } 这里表示当数值处于10-50之间时圆环的颜色为红色,而在这个区间之外的数值因为没有设置的将为默认颜色展示。 具体设置可以参照 echart的分段式视觉映射组件

itemStyle

配置项简介类型备注
backgroundColor设置圆环的颜色array一种颜色是时候为单色,多于一种颜色的时候为渐变色
borderColor设置圆环边框颜色string-
borderWidth设置圆环边框大小number/string-

仪表板

标识  gauge

image.png

配置项

配置项简介类型备注
radius设置半径array默认70,100
center设置圆心位置array默认'50%','50%'
label是否显示数据的文本boolean默认true
name设置名称string-
unifiedColor设置是否样式统一boolean默认false
axisTickLabel是否显示轴刻度文字boolean默认true
axisTickLabelColor设置轴刻度文字的颜色string-
axisTick设置是否显示轴刻度boolean默认true
axisTickStyle设置仪表盘轴刻度样式object-
progress设置是否显示进度条boolean默认false
progressStyle设置进度条样式object当progress启用时,生效
lineStyle设置仪表盘轴线样式object-
pointerStyle设置指针样式object-

unifiedColor 启动时仪表盘的样式以轴线样式的样式为准,将轴刻度和指针的样式统一。

axisTickStyle

配置项简介类型备注
backgroundColor设置轴刻度的颜色array一种颜色是时候为单色,多于一种颜色的时候为渐变色

progressStyle

配置项简介类型备注
backgroundColor设置进度条的颜色array一种颜色是时候为单色,多于一种颜色的时候为渐变色
borderColor设置进度条边框颜色string-
borderWidth设置进度条边框大小number/string-

lineStyle

配置项简介类型备注
backgroundColor设置进度条的颜色array一种颜色是时候为单色,多于一种颜色的时候为渐变色
value设置轴线分段的位置number值的范围 0-1 之间

pointerStyle

配置项简介类型备注
backgroundColor设置指针的颜色array一种颜色是时候为单色,多于一种颜色的时候为渐变色
borderColor设置指针边框颜色string-
borderWidth设置指针边框大小number/string-

栅格占比仪表板

标识  grid-gauge

image.png

配置项

配置项简介类型备注
radius设置半径array默认70,100
center设置圆心位置array默认'50%','50%'
label是否显示数据的文本boolean默认true
name设置名称string-
fontSize文本的大小number默认40
labelColor设置文本的颜色string默认'#464646'
labelShadowColor设置文本的阴影颜色string-
labelShadowBlur设置文本阴影大小number-
splitNumber设置栅格的数量number默认100
backgroundColor设置栅格背景颜色样式array一种颜色是时候为单色,多于一种颜色的时候为渐变色
lineColor设置栅格颜色样式array一种颜色是时候为单色,多于一种颜色的时候为渐变色

水球图

标识  liquidfill

image.png

配置项

配置项简介类型备注
label是否显示数据的文本boolean默认true
fontSize设置文本的字体大小number默认50
colors设置波浪的颜色array-
opacity设置波浪的透明度number默认0.95
hoverOpacity设置波浪hover效果的透明度number默认0.8
animation设置是否启用动画boolean默认true
amplitude设置波浪的幅度string默认:'8%'
direction设置波浪的方向string默认'right'
outlineShow设置外轮廓是否显示boolean默认true
shape设置水球的形状string默认'circle'
itemStyle设置水球图的样式object-
outlineStyle设置水球图外框的样式object-
waveStyle设置波浪的样式object-

itemStyle

配置项简介类型备注
backgroundColor设置水球图的颜色array一种颜色是时候为单色,多于一种颜色的时候为渐变色
borderColor设置水球图边框颜色string-
borderWidth设置水球图边框大小number/string-
shadowColor控制水球图阴影颜色string-
shadowBlur控制阴影大小number-

outlineStyle

配置项简介类型备注
backgroundColor设置水球图外框的颜色array一种颜色是时候为单色,多于一种颜色的时候为渐变色
borderColor设置水球图外框边框颜色string-
borderWidth设置水球图外框边框大小number/string-
shadowColor控制水球图外框阴影颜色string-
shadowBlur控制外框阴影大小number-
borderDistance控制图表外框的边界距离number-

waveStyle

配置项简介类型备注
shadowColor控制波浪阴影颜色string-
shadowBlur控制波浪阴影大小number-

3d柱状图

标识  histogram-3d

image.png

注意:该图表在宽度狭窄或者数量过多的情况下会出现柱状图重叠或者变形的情况

配置项

配置项简介类型备注
legend是否显示图例组件boolean默认true
legendName设置图例名称object-
yAxisName设置纵坐标的标题array-
stack是否展示堆叠层boolean默认false
backrgoundStyle设置图表的样式object-

legendName 可以设置 图表上的图例别名 例如:legendName :{ 'test1': '测试1' } 即将test1的图例名称修改为‘测试1’

只有在stack开启时才会展示多组数据,当该属性为关闭状态时只会展示第一组数据

chartData:{
            columns:['date','test1','test2','test3','test4'],
            rows:[
                {'date':'1/1','test1':150,'test2':100,'test3':100,'test4':100},
                {'date':'1/2','test1':100,'test2':150,'test3':150,'test4':150},
                {'date':'1/3','test1':200,'test2':250,'test3':250,'test4':250},
                {'date':'1/4','test1':200,'test2':300,'test3':300,'test4':300},
                {'date':'1/1','test1':150,'test2':100,'test3':100,'test4':100},
                {'date':'1/2','test1':100,'test2':150,'test3':150,'test4':150},
                {'date':'1/1','test1':150,'test2':100,'test3':100,'test4':100},
                {'date':'1/2','test1':100,'test2':150,'test3':150,'test4':150},
              ]
            }

// 当stack开启时会展示 test1到test4的数据,关闭时只会展示test1的数据

itemStyle

配置项简介类型备注
label指定类型string-
frontBg控制柱状图正面颜色array-
rightBg控制柱状图右侧面颜色array-
topBg控制柱状图顶部面颜色array-

以上的颜色设置都是一种颜色是时候为单色,多于一种颜色的时候为渐变色

自定义图表

标识 custom

当设置了该标识符后只需要在 extend 这个属性中填写echarts配置即可,例如配置一个散点图

img

<template>
  <div id="app">
    <div class="title">自定义</div>
    <vc-chart type='custom'
              :extend='extend'
              ref="reCustomChart" />
  </div>
</template>

<script>

export default {
  data(){
    return{
      extend:{
         xAxis: {},
         yAxis: {},
         series: [
           {
             symbolSize: 20,
             data: [
               [10.0, 8.04],
               [8.07, 6.95],
               [13.0, 7.58],
               [9.05, 8.81],
               [11.0, 8.33],
               [14.0, 7.66],
               [13.4, 6.81],
               [10.0, 6.33],
               [14.0, 8.96],
               [12.5, 6.82],
               [9.15, 7.2],
               [11.5, 7.2],
               [3.03, 4.23],
               [12.2, 7.83],
               [2.02, 4.47],
               [1.05, 3.33],
               [4.05, 4.96],
               [6.03, 7.24],
               [12.0, 6.26],
               [12.0, 8.84],
               [7.08, 5.82],
               [5.02, 5.68]
             ],
             type: 'scatter'
           }
         ]
      }, 
    }
  },
}
</script>
0.3.17

2 years ago

0.3.16

2 years ago

0.3.15

2 years ago

0.3.14

2 years ago

0.3.13

2 years ago

0.3.12

2 years ago

0.3.9

2 years ago

0.3.11

2 years ago

0.3.10

2 years ago

0.3.6

2 years ago

0.3.5

2 years ago

0.3.8

2 years ago

0.3.7

2 years ago

0.3.4

2 years ago

0.3.3

2 years ago

0.3.2

2 years ago

0.3.1

2 years ago

0.3.0

3 years ago

0.2.27

3 years ago

0.2.26

3 years ago

0.2.30

3 years ago

0.2.32

3 years ago

0.2.31

3 years ago

0.2.29

3 years ago

0.2.28

3 years ago

0.2.25

3 years ago

0.2.24

3 years ago

0.2.23

3 years ago

0.2.22

3 years ago

0.2.21

3 years ago

0.2.20

3 years ago

0.2.19

3 years ago

0.2.18

3 years ago

0.2.17

3 years ago

0.2.16

3 years ago

0.2.15

3 years ago

0.2.14

3 years ago

0.2.13

3 years ago

0.2.12

3 years ago

0.2.11

3 years ago

0.2.10

3 years ago

0.2.9

3 years ago

0.2.7

3 years ago

0.2.8

3 years ago

0.2.5

3 years ago

0.2.3

3 years ago

0.2.2

3 years ago

0.2.4

3 years ago

0.2.1

3 years ago

0.2.0

3 years ago

0.1.0

3 years ago