使用v-charts过程中,官方给出的文档不够详细,很多参数最后还是要去e-charts文档上找,或者网上自己找,总结一下在使用过程中遇到的配置问题,剩下的还需要在使用过程中慢慢发现
有问题请留言,一起解决哈~
柱图、折线图、环图的常用配置
:data 绑定基本数据
<template>
<ve-histogram :data="{columns:[], rows:[]}"></ve-histogram>
</template>
{
// 第一个参数为维度(记住这个词,就是横轴,例如时间),剩余为指标(就是给哪些东西做统计,可以直接为中文)
columns: ['month', 'key1', 'key2', 'key3'],
// rows为数组,每个指标各有一条柱,并标注出每个指标的值
rows: [
{month:'一月', key1: value1, key2: value2, key3: value3},
{month:'二月', key1: value4, key2: value5, key3: value6}
],
// rows为对象 -- 散点图可以用
rows: {
name1: [
{month:'二月', key1:'', key2:'', key3: ''}
],
name2: [
{month:'三月', key1:'', key2:'', key3: ''}
],
}
}
:settings 绑定基本配置
<template>
<ve-histogram :settings="{dimension:[]}""></ve-histogram>
</template>
{
// 声明维度 -- 默认就是columns的第一个
dimension: ['month'],
// 设置横轴为连续的数值轴,如时间,数字等
xAxisType: 'value(横轴必须是数字)', 'time(横轴是时间)'
// 声明指标 -- columns的第二个开始
metrics: ['key1', 'key2', 'key3'],
// 指标的别名 -- 后台数据给的指标大多时候不为中文,但是给用户看的肯定是中文的
labelMap: {
key1: 'value指标',
key2: 'value指标',
key3: 'value指标',
key4: '举个例子显示百分比'
},
// 修改图例别名 -- 就是顶部的那个几个色块,官网文档没用,绑定在legend里设置
legendName:{
'key1': '访问用户 total: 10000'
},
// 指标所在的轴 -- 设置左右双Y轴用
axisSite: { right: ['key4'] },
// 柱图 -- 堆叠key1、key2、key3在一条轴上显示
stack: { 'month': ['key1', 'key2', 'key3'] },
// 柱图 -- 设置其中一个指标为折线图(需要引入折线图组件)
showLine: ['key3'],
// 纵轴左右坐标轴标题
yAxisName: ['月度课程发布情况', 'key4Name'],
// 设置常用数据格式 -- 指标的单位
// 可以使用 numerify™ 的格式来配置显示,具体的格式支持和插件扩展写法可以参考 numerify™ 文档
// 也支持使用回调函数的方式function (v) {return v + ' ¥'}
// 折线图 -- 用yAxisType
yAxisType: ['KMB(对应yAxisName第一位)', 'percent(对应yAxisName第二位)'],
// 饼图环图 -- 用dataType
dataType: {
'key1': 'KMB', //数字转为RMB(基本的数据格式)
'key2': 'percent', //百分比格式(基本的数据格式)
'key3': 'normal' //千分位(基本的数据格式)
},
// 数据格式为 percent 保留的小数点
digit: 2,
// 设置数据的排序方式,例如根据指标key1升序(实际效果好像是反的)
dataOrder: {
{ label: 'key1', order: 'asc' }
},
// 折线图 -- 填充整个面积的色块
area: true
// 色块透明度
opacity: 0.5,
// 环图 -- 限制最大数量
limitShowNum: 3,
// 环图 -- 内外径
radius: [50, 70],
// 环图 -- 纵轴中心位置,px或者%或'center'等
offsetY: '45%',
// 环图 -- 支出来的那个线后面的文字
label: {
show: false
},
// 柱图 -- 显示柱状图数据值,并把具体数字放在顶部
label: { show: true, position: "top" }
// 折线 -- 显示具体数据数值
label: { normal: { show: true } }
// 环图 -- 支出来的那个线
labelLine: {
show: false
},
// 环图 -- 玫瑰图
roseType: 'radius'
// 环图饼图 -- 是否放上去放大
hoverAnimation: false
}
:legend 图例(就是小方块那个说明区)
<template>
<ve-histogram :legend="{right: 0}"></ve-histogram>
</template>
{
// 调整图例区的位置,单位(数字,百分比,center/left位置)
right: 0,
// 是否可以点击,隐藏点击的内容
selectedMode:false,
// 图例的宽度,不够会换行
width: 100,
//样式
textStyle: {
color: '#BED1EF'
}
}
grid 整个绘制区域
<template>
<ve-histogram :grid="{bottom: 0}"></ve-histogram>
</template>
{
// 调整位置
bottom: 0,
//调整大小啥的
width: 200
}
title 环形图中间的文字说明
<template>
<ve-histogram :title="{title: '你的标题'}"></ve-histogram>
</template>
import 'echarts/lib/component/title'; //必须引入这个组件,默认不带title
{
// 文字啥的,用\n可以换行
text: '',
//调整位置
x: 'center',
top: '35%',
//调整样式
textStyle: {
fontSize: 20,
fontWeight: 'normal'
}
}
:extend 最终所有的配置都可以用这个值重新设置
<template>
<ve-histogram :extend="{series:{}}"></ve-histogram>
</template>
{
// x轴的文字倾斜
'xAxis.0.axisLabel.rotate': 45,
series: {
//环图 -- 圆心位置
center: ['50%', '50%'],
///环图颜色顺序,颜色不是按你的列表一一对应的,需要手动设置顺序
itemStyle: {
normal: {
color: (params)=> {
return this.colorList[params.dataIndex]
}
}
},
barWidth : 20,//柱图 -- 条宽度
},
yAxis: {
// 纵坐标网格线设置,同理横坐标
splitLine:{
lineStyle: {
color: '#999'
}
},
// 纵坐标字体颜色,同理横坐标
axisLine:{
lineStyle:{
color: '#BED1EF'
}
}
}
}