全局引入
Echars
安装npm install echarts --save
main.js
中挂载到Vue原型链上// 1. 使用的文件中引入
import * as echarts from 'echarts' // 2. mian.js 直接把echarts挂载到vue实例上
import * as echarts from 'echarts'
// 把echarts挂载到全局(使用:this.$echarts 即可)
Vue.prototype.$echarts = echarts
// 1. 使用的文件中引入
var myChart = echarts.init(this.$refs.box)// 2. mian.js 直接把echarts挂载到vue实例上
var myChart = this.$echarts.init(this.$refs.box)
myChart.setOption({// 标题 title: {text: 'ECharts 入门示例',},// 提示框tooltip: {},// x轴 xAxis: {// x轴数据源 data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子'],},// y轴 yAxis: {},// 系列 设置当前数据映射的图形series: [{name: '销量',// 指定图形类型 type: 'bar',// 图形数据源 data: [5, 20, 36, 10, 10, 20],},],
})
\n
换行,取值string
title: {text: '主标题文本',
},
url
,默认新窗口打开title: {text: '主标题文本', // 主文本标题link: 'http://www.baidu.com', // 主标题文本超链接
},
blank
title: {text: 'ECharts 入门示例', // 主文本标题link: 'http://www.baidu.com', // 主标题文本超链接// 设置主标题文字的样式textStyle: {color: 'skyblue', // 颜色fontStyle: 'italic', // 文字风格(正常/倾斜)fontWeight: '300', // 文字粗细fontSize: '20', // 字号// ... },
},
title: {text: 'ECharts 入门示例', // 主文本标题link: 'http://www.baidu.com', // 主标题文本超链接// 设置主标题文字的样式textStyle: {color: 'skyblue', // 颜色fontStyle: 'italic', // 文字风格(正常/倾斜)fontWeight: '300', // 文字粗细fontSize: '20', // 字号},backgroundColor: 'pink', // 标题背景颜色
},
title: {text: 'ECharts 入门示例', // 主文本标题link: 'http://www.baidu.com', // 主标题文本超链接// 设置主标题文字的样式textStyle: {color: 'skyblue', // 颜色fontStyle: 'italic', // 文字风格(正常/倾斜)fontWeight: '300', // 文字粗细fontSize: '20', // 字号},backgroundColor: 'pink', // 标题背景颜色borderColor: '#ccc', // 标题边框颜色
},
title: {text: 'ECharts 入门示例', // 主文本标题link: 'http://www.baidu.com', // 主标题文本超链接// 设置主标题文字的样式textStyle: {color: 'skyblue', // 颜色fontStyle: 'italic', // 文字风格(正常/倾斜)fontWeight: '300', // 文字粗细fontSize: '20', // 字号},backgroundColor: 'pink', // 标题背景颜色borderColor: '#ccc', // 标题边框颜色borderWidth: 10, // 标题边框宽度
},
title: {text: 'ECharts 入门示例', // 主文本标题link: 'http://www.baidu.com', // 主标题文本超链接// 设置主标题文字的样式textStyle: {color: 'skyblue', // 颜色fontStyle: 'italic', // 文字风格(正常/倾斜)fontWeight: '300', // 文字粗细fontSize: '20', // 字号},backgroundColor: 'pink', // 标题背景颜色borderColor: '#ccc', // 标题边框颜色borderWidth: 10, // 标题边框宽度x: 'center', // 主文本和副文本在盒子中的对齐方式},
title: {text: 'ECharts 入门示例', // 主文本标题link: 'http://www.baidu.com', // 主标题文本超链接// 设置主标题文字的样式textStyle: {color: 'skyblue', // 颜色fontStyle: 'italic', // 文字风格(正常/倾斜)fontWeight: '300', // 文字粗细fontSize: '20', // 字号},backgroundColor: 'pink', // 标题背景颜色borderColor: '#ccc', // 标题边框颜色borderWidth: 10, // 标题边框宽度x: 'center', // 主文本和副文本在盒子中的对齐方式subtext: '副标题文本', // 副标题文本,支持使用 \n 换行},
'item'
(默认),'axis'
,'none'
'item'
,数据项图形触发,主要在散点图,饼图等无类目轴(x轴y轴)的图表中使用'axis'
,坐标轴触发,主要在柱状图,折线图等会使用类目轴(x轴y轴)的图表中使用'none'
,什么都不触发// 提示框(鼠标经过时候的提示)
tooltip: {trigger: 'axis', // 触发类型,坐标轴触发
},
type
'line'
直线指示器(默认),'shadow'
阴影指示器,'none'
无指示器,'cross'
十字准星指示器[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RCexcw0p-1679451582979)(C:\Users\huihui\Desktop\echars\最新\截图\线性(line)]指示器.png)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xVOAsGKx-1679451582980)(C:\Users\huihui\Desktop\echars\最新\截图\阴影(shadow)]指示器.png)
其他同理
// 提示框(鼠标经过时候的提示)
tooltip: {trigger: 'axis', // 触发类型,坐标轴触发// 坐标轴指示器配置项axisPointer: {// 指示器形式type: 'shadow',}
},
tooltip
触发事件或显示axisPointer
而不需要显示内容时可配置该项为false
。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VTxYfhKB-1679451582981)(C:\Users\huihui\Desktop\echars\最新\截图\悬浮框.png)]
// 提示框(鼠标经过时候的提示)
tooltip: {trigger: 'axis', // 触发类型,坐标轴触发// 坐标轴指示器配置项axisPointer: {// 指示器形式type: 'shadow',},// 是否显示提示框浮层(鼠标经过显示的提示框),默认显示showContent: false,
},
tooltip: {trigger: 'axis', // 触发类型,坐标轴触发// 坐标轴指示器配置项axisPointer: {// 指示器形式type: 'shadow',},// 是否显示提示框浮层(鼠标经过显示的提示框),默认显示// showContent: false,backgroundColor: 'skyblue',
},
tooltip: {trigger: 'axis', // 触发类型,坐标轴触发// 坐标轴指示器配置项axisPointer: {// 指示器形式type: 'shadow',},// 是否显示提示框浮层(鼠标经过显示的提示框),默认显示// showContent: false,backgroundColor: 'skyblue', // 提示框浮层的背景颜色borderColor: '#ccc', // 提示框浮层的边框颜色
},
tooltip: {trigger: 'axis', // 触发类型,坐标轴触发// 坐标轴指示器配置项axisPointer: {// 指示器形式type: 'shadow',},// 是否显示提示框浮层(鼠标经过显示的提示框),默认显示// showContent: false,backgroundColor: 'skyblue', // 提示框浮层的背景颜色borderColor: 'red', // 提示框浮层的边框颜色borderWidth: 10, // 提示框浮层的边框宽
},
tooltip: {trigger: 'axis', // 触发类型,坐标轴触发// 坐标轴指示器配置项axisPointer: {// 指示器形式type: 'shadow',},// 是否显示提示框浮层(鼠标经过显示的提示框),默认显示// showContent: false,backgroundColor: 'skyblue', // 提示框浮层的背景颜色borderColor: 'red', // 提示框浮层的边框颜色borderWidth: 10, // 提示框浮层的边框宽// 提示框浮层的文本样式textStyle: {color: 'white', // 提示框浮层文字颜色fontStyle: 'italic', // 提示框浮层文字样式fontWeight: 'bolder', // 提示框浮层文字字体的粗细fontSize: 16, // 提示框浮层文字字体大小},
},
字符串形式
a
代表series
系列图标名称b
代表series
数据名称data
里面的name
c
代表series
数据值data
里面的value
d
代表 当前数据/总数 的比例formatter: '{a}
{b} : {c} ({d}%)'
函数形式
第一个参数就是数据源,里面的data
是我们需要的数据(在series
的data
属性设置的)
return 的东西就是提示框浮层的内容
// 提示框(鼠标经过时候的提示)tooltip: {trigger: 'axis', // 触发类型,坐标轴触发// 坐标轴指示器配置项axisPointer: {// 指示器形式type: 'shadow',},// 是否显示提示框浮层(鼠标经过显示的提示框),默认显示// showContent: false,backgroundColor: 'skyblue', // 提示框浮层的背景颜色borderColor: 'red', // 提示框浮层的边框颜色borderWidth: 10, // 提示框浮层的边框宽// 提示框浮层的文本样式textStyle: {color: 'white', // 提示框浮层文字颜色fontStyle: 'italic', // 提示框浮层文字样式fontWeight: 'bolder', // 提示框浮层文字字体的粗细fontSize: 16, // 提示框浮层文字字体大小},// 提示框浮层内容格式器,支持字符串模板和回调函数两种形式formatter(params, ticket, callback) {// console.log(params[0].data) // params是数据源// console.log(ticket)// console.log(callback)// return 的东西就是提示框浮层的内容return ('数量:' + params[0].data.value + '-日期:' + params[0].data.data)},},xAxis: {data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子'],},yAxis: {},// 系列 设置当前数据映射的图形series: [{name: '销量',type: 'bar',data: [// 设置提示框的formatter之后,就可以自定义数据了,不设置当然也能定义数据{value: '5',data: '2023-01-01',},{value: '15',data: '2023-01-02',},{value: '25',data: '2023-01-03',},{value: '35',data: '2023-01-04',},{value: '45',data: '2023-01-05',},{value: '55',data: '2023-01-10',},],},],
legend: {show: true,
},
legend: {show: true,icon: 'circle',
},
left
和right
和bottom
同理legend: {show: true, // 是否显示icon: 'circle', // 图标,图形形状top: 20, // 位置
},
legend: {show: true, // 是否显示// icon: 'circle', // 图标,图形形状top: 20, // 位置// 图例宽高itemWidth: 50,itemHeight: 20,
},
legend: {show: true, // 是否显示// icon: 'circle', // 图标,图形形状top: 20, // 位置// 图例宽高itemWidth: 50,itemHeight: 20,// 图例的公用文本样式textStyle: {color: 'pink', // 颜色backgroundColor: 'skyblue', // 背景颜色fontSize: 18,},
},
xAxis: {data: xData,
},
'value'
数值轴,适用于连续数据,例如连续的纯数据(1,2,3,…)
'category'
类目轴,适用于离散的类目数据,例如分成一类的东西(春夏秋冬,星期,国家…),为该类型时必须通过data
设置类目数据
'time'
时间轴,适用于连续的时序数据,与数值轴相比时间轴带有时间的格式化,在刻度计算上也有所不同,例如会根据跨度的范围来决定使用月,星期,日还是小时范围的刻度
'log'
对数轴。适用于对数数据
xAxis: {type: 'category',data: xData,
},
boundaryGap
可以设置为true
和false
,默认为true
grid: {show: true, // 是否显示网格,就是四条边组成的大框borderColor: 'pink', // 网格边框颜色,网格四条边的颜色left: '20%', // grid 组件离容器左侧的距离top: '20%', // grid 组件离容器顶侧的距离show: true, // 显示边框,是否显示直角坐标系网格backgroundColor: 'pink', // 网格背景色,默认透明containLabel: true, // grid 区域是否包含坐标轴的刻度标签。如果包含,就不会顶格,如果不包含,则会顶格,把网格覆盖
},
['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc']
line
是折线,bar
是柱形等tooltip
的显示,legend
的图例筛选变化(根据这里的name值)stack
指定不同值或者去掉这个属性则不会发生数据堆叠series: [{name: 'Email',type: 'line',// stack: 'Total',data: [120, 132, 101, 134, 90, 230, 210]},{name: 'Union Ads',type: 'line',// stack: 'Total',data: [220, 182, 191, 234, 290, 330, 310]},{name: 'Video Ads',type: 'line',// stack: 'Total',data: [150, 232, 201, 154, 190, 330, 410]},{name: 'Direct',type: 'line',// stack: 'Total',data: [320, 332, 301, 334, 390, 330, 320]},{name: 'Search Engine',type: 'line',// stack: 'Total',data: [820, 932, 901, 934, 1290, 1330, 1320]}]
data
数组,数组里面存放对象type
属性(特殊的标注类型,用于标注最大值最小值等)name
属性(标注名称)series: [{data: yData,type: 'bar',// 显示柱状后面的背景颜色showBackground: true,// 设置柱状后面的背景颜色backgroundStyle: {color: 'skyblue',},// 图表标注markPoint: {data: [// 标记的数据数组,每一项都是一个对象// 最大值{type: 'max',name: '最大值',},// 最小值{type: 'min',name: '最小值',},// 平均值// {// type: 'average',// name: '平均值',// },],},// 图表标线markLine: {data: [// 平均线{type: 'average',name: '平均线',},],},},
],
type
设置为类目轴category
。把x轴的坐标轴类型type
设置为数值轴value
const option = {title: {text: '主标题',},xAxis: {// type: 'category',// data: xData,type: 'value',},yAxis: {// type: 'value',type: 'category',data: xData,},series: [{data: yData,type: 'bar',// 显示柱状后面的背景颜色showBackground: true,// 设置柱状后面的背景颜色backgroundStyle: {color: 'skyblue',},// 柱条的宽度,不设时自适应barWidth: 10,// 轴的颜色// color: 'red',// 单独设置每个轴的颜色itemStyle: {normal: {color: function (params) {let colorList = ['pink','#ccc','#999','#666','#333','#777','#91cc75',]return colorList[params.dataIndex]},},}, // 图表标注markPoint: {data: [// 标记的数据数组,每一项都是一个对象// 最大值{type: 'max',name: '最大值',},// 最小值{type: 'min',name: '最小值',},// 平均值// {// type: 'average',// name: '平均值',// },],},// 图表标线markLine: {data: [// 平均线{type: 'average',name: '平均线',},],},},],
color
进行设置,一共有两种方式// 修改线性渐变色方式 1color: new echarts.graphic.LinearGradient(// (x1,y2) 点到点 (x2,y2) 之间进行渐变0,0,0,1,[{ offset: 0, color: '#00fffb' }, // 0 起始颜色{ offset: 1, color: '#0061ce' }, // 1 结束颜色]),// 修改线性渐变色方式 2color: {type: 'linear',x: 0,y: 0,x2: 0,y2: 1,colorStops: [{offset: 0,color: 'red', // 0% 处的颜色},{offset: 1,color: 'blue', // 100% 处的颜色},],globalCoord: false, // 缺省为 false},
containLabel
设置为true
即可// 图表边界控制
grid: {// 距离 上右下左 的距离left: '3%',right: '4%',bottom: '3%',top: '3%',// 是否包含文本containLabel: true,
},
下面的y轴也是同理
如果为true
,则刻度会与柱子对齐。如果为false
,则柱子会在刻度中间
xAxis: [{// 使用类目,必须有data属性type: 'category',// 使用 data 中的数据设为刻度文字data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],// 刻度设置axisTick: {// true意思:图形在刻度中间// false意思:图形在刻度之间alignWithLabel: true,// show是否显示刻度show: false},},],
xAxis: [{// 使用类目,必须有data属性type: 'category',// 使用 data 中的数据设为刻度文字data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],// 刻度设置axisTick: {// true意思:图形在刻度中间// false意思:图形在刻度之间alignWithLabel: false,// 是否显示刻度show: false,},// 修改刻度文字axisLabel: {color: 'red',},},
],
// 修改y轴颜色
axisLine: {lineStyle: {color: 'rgba(0,240,255,0.3)',// width: 8, // x轴线的粗细// opcity: 0, // 如果不想显示x轴线,则设为0},
},
// Y轴分割线颜色
splitLine: {lineStyle: {color: 'rgba(0,240,255,0.3)',},
},
series
的饼图中有radius
属性,也就是饼图的半径,值可以是number
,string
,Array
类型的
取值可以是百分比,具体的px。如果是数组,则第一项是内半径,第二项是外半径
radius: ['30%', '50%'] // 就改了这一行,其他的都同上
label: {// 是否显示文字,默认是trueshow: true,// 文本的位置 取值有inside(内部),outside(外部,默认),center(中心)// position: 'inside',// 自定义饼图上显示的文本formatter: (params) => {// console.log(params.data) // 设置的饼图数据源// console.log(params.percent) // 数据的百分比占多少// 想要什么样的,就返回什么样的return (params.data.name +'的有' +params.data.value +'占比%' +params.percent)},},
label
位置设置为outside
的时候会显示视觉引导线属性:
show
,是否显示length
,视觉引导项第一段的长度length
2,视觉引导项第二段的长度// 控制引导线的样式labelLine: {show: true,length: 6,length2: 8,},
'radius'
扇区圆心角展现数据的百分比,半径展现数据的大小'area'
所有扇区圆心角相同,仅通过半径展现数据大小// 设置是否展示成南丁格尔图
roseType: 'area',
itemStyle: {}
color
取值有字符串和函数,如果想修改每一项,就用函数形式,dataIndex
是每一项的索引itemStyle: {// 全部一个颜色// color: 'skyblue',// 每一项都不同颜色color: (params) => {let colorList = ['pink','#ccc','#999','#666','#333',]return colorList[params.dataIndex]},borderColor: '#ccc',borderType: 'dashed',
},
改变每一项的颜色,还可以通过修改数据源实现
// 饼图数据源
const data = [{value: 1048,name: '<1000',itemStyle: {normal: {color: 'pink',},},},{value: 735,name: '1000~3000',itemStyle: {normal: {color: 'skyblue',},},},{value: 580,name: '3000~5000',itemStyle: {normal: {color: '#ccc',},},},{value: 484,name: '5000~10000',itemStyle: {normal: {color: '#333',},},},{value: 300,name: '10000+',itemStyle: {normal: {color: '#999',},},},
]
series: [{data: yData,type: 'line',smooth: true,},
],
series: [{data: yData,type: 'line',smooth: true,areaStyle: {color: 'skyblue',},},
],
series: [{data: yData,type: 'line',smooth: true,areaStyle: {color: 'skyblue',},markPoint: {data: [{ type: 'max', name: 'Max' },{ type: 'min', name: 'Min' },],},markLine: {data: [{ type: 'average', name: 'Avg' }],},},
],
series
系列数组中声明多个对象,里面的每一项对象就是一个折线,如果想让他们都在一组,则它们的stack
必须相同stack
值可以堆叠放置stack
只支持堆叠于 'value'
和 'log'
类型的类目轴上(y轴),不支持 'time'
和 'category'
类型的类目轴series: [{name: 'Email',type: 'line',stack: 'Total',data: [120, 132, 101, 134, 90, 230, 210],},{name: 'Union Ads',type: 'line',stack: 'Total',data: [220, 182, 191, 234, 290, 330, 310],},{name: 'Video Ads',type: 'line',stack: 'Total',data: [150, 232, 201, 154, 190, 330, 410],},{name: 'Direct',type: 'line',stack: 'Total',data: [320, 332, 301, 334, 390, 330, 320],},
],
series: [{name: 'Email',type: 'line',stack: 'Total',areaStyle: {},emphasis: {focus: 'series',},data: [120, 132, 101, 134, 90, 230, 210],},{name: 'Union Ads',type: 'line',stack: 'Total',areaStyle: {},emphasis: {focus: 'series',},data: [220, 182, 191, 234, 290, 330, 310],},{name: 'Video Ads',type: 'line',stack: 'Total',areaStyle: {},emphasis: {focus: 'series',},data: [150, 232, 201, 154, 190, 330, 410],},
],
['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc']
series: [{// symbolSize: number / Array / Function 标记的大小symbolSize: 20,// 标记颜色(这种是写死的)// color: 'skyblue',// colorBy 取值有series(同一个颜色) data(不同颜色,会取color的默认颜色)// colorBy: 'data',// 推荐直接使用colorcolor: {// 线性渐变,前四个参数分别是 x0, y0, x2, y2, 范围从 0 - 1// 相当于在图形包围盒中的百分比,如果 globalCoord 为 true,则该四个值是绝对的像素位置type: 'linear',x: 0,y: 0,x2: 0, // x方向 从左到右,设置的都为0,没往右走,所以不变y2: 1, // y方向 从上到下,设置的是0到1,从上直接到最下了,所以整个渐变colorStops: [{offset: 0,color: 'red', // 0% 处的颜色},{offset: 1,color: 'blue', // 100% 处的颜色},],global: false, // 缺省为 false},data: [[10.0, 8.04], // [x轴坐标, y轴坐标][8.07, 6.95],[13.0, 7.58],[9.05, 8.81],[11.0, 8.33],[14.0, 7.66],[13.4, 6.81],],type: 'scatter',},
],
emphasis
里的styleItem
属性中进行设置,如果想要提示框,则可以添加tooltip
tooltip: {},
series: [{// symbolSize: number / Array / Function 标记的大小symbolSize: 20,// 标记颜色(这种是写死的)// color: 'skyblue',// colorBy 取值有series(同一个颜色) data(不同颜色,会取color的默认颜色)// colorBy: 'data',// 推荐直接使用colorcolor: {// 线性渐变,前四个参数分别是 x0, y0, x2, y2, 范围从 0 - 1// 相当于在图形包围盒中的百分比,如果 globalCoord 为 `true`,则该四个值是绝对的像素位置type: 'linear',x: 0,y: 0,x2: 0, // x方向 从左到右,设置的都为0,没往右走,所以不变y2: 1, // y方向 从上到下,设置的是0到1,从上直接到最下了,所以整个渐变colorStops: [{offset: 0,color: 'pink', // 0% 处的颜色},{offset: 1,color: 'skyblue', // 100% 处的颜色},],global: false, // 缺省为 false},// 高亮效果emphasis: {itemStyle: {borderColor: 'pink',borderWidth: 6,},},data: [[10.0, 8.04], // x轴坐标,y轴坐标[8.07, 6.95],[13.0, 7.58],[9.05, 8.81],[11.0, 8.33],[5.02, 5.68],],type: 'scatter',},
],
markPoint
中有一个data
属性。标注的数据数组。每个数组项是一个对象data
中有一个valueDim
属性,在使用type
时有效,用于指定在哪个维度上指定最大值最小值。这可以是维度的直接名称,例如折线图时可以是x
、angle
等、candlestick 图时可以是open
、close
等维度名称type
指定最大值,最小值,平均值
radar
属性只适用于雷达图,雷达图坐标系组件,雷达图使用radar
组件作为其坐标系 indicator
,表示雷达图的指示器,用来指定雷达图中的多个变量(维度)shape
,雷达图绘制类型,支持 'polygon'
(默认,雷达图多边形显示) 和 'circle'
(雷达图圆形显示)
radar: {// 雷达图绘制类型,支持 'polygon'(正常显示) 和 'circle'(圆形显示)shape: 'circle',// 雷达图的指示器,用来指定雷达图中的多个变量(维度)indicator: [{ name: '购物', max: 1000 },{ name: '吃饭', max: 1000 },{ name: '旅游', max: 1000 },{ name: '出行', max: 1000 },{ name: '住宿', max: 1000 },],// 半径radius: '70%',
},
radar: {// 雷达图绘制类型,支持 'polygon'(正常显示) 和 'circle'(圆形显示)shape: 'circle',// 雷达图的指示器,用来指定雷达图中的多个变量(维度)indicator: [{ name: '购物', max: 1000 },{ name: '吃饭', max: 1000 },{ name: '旅游', max: 1000 },{ name: '出行', max: 1000 },{ name: '住宿', max: 1000 },],// 半径radius: '70%',// 图形旋转startAngle: 180,
},
radar: {// 雷达图绘制类型,支持 'polygon'(正常显示) 和 'circle'(圆形显示)shape: 'circle',// 雷达图的指示器,用来指定雷达图中的多个变量(维度)indicator: [{ name: '购物', max: 1000 },{ name: '吃饭', max: 1000 },{ name: '旅游', max: 1000 },{ name: '出行', max: 1000 },{ name: '住宿', max: 1000 },],// 半径radius: '70%',// 图形旋转startAngle: 180,// 指示器轴的分割段数splitNumber: 3,
},
radar: {// 雷达图绘制类型,支持 'polygon'(正常显示) 和 'circle'(圆形显示)shape: 'circle',// 雷达图的指示器,用来指定雷达图中的多个变量(维度)indicator: [{ name: '购物', max: 1000 },{ name: '吃饭', max: 1000 },{ name: '旅游', max: 1000 },{ name: '出行', max: 1000 },{ name: '住宿', max: 1000 },],// 半径radius: '70%',// 图形旋转startAngle: 180,// 指示器轴的分割段数splitNumber: 3,// 雷达图每个指示器名称的配置项axisName: {color: 'pink',formatter: '值是: {value}',},
},
show
来进行显示areaStyle
可以设置分隔区域的样式radar: {// 雷达图绘制类型,支持 'polygon'(正常显示) 和 'circle'(圆形显示)shape: 'circle',// 雷达图的指示器,用来指定雷达图中的多个变量(维度)indicator: [{ name: '购物', max: 1000 },{ name: '吃饭', max: 1000 },{ name: '旅游', max: 1000 },{ name: '出行', max: 1000 },{ name: '住宿', max: 1000 },],// 半径radius: '60%',// 图形旋转startAngle: 180,// 指示器轴的分割段数splitNumber: 3,// 雷达图每个指示器名称的配置项axisName: {color: 'pink',formatter: '值是: {value}',},// 坐标轴在 grid区域中的分隔区域splitArea: {show: true,areaStyle: {color: ['pink', 'skyblue', 'gray'],shadowColor: '0,0,0,.2',shadowBlur: 10,},},
},
lineStyle
进行设置线段样式series: [{name: '基本雷达图',type: 'radar',data: [{value: [500, 800, 300, 600, 600],name: '预算支出',// 线条填充areaStyle: {color: '#F56C6C',},},{value: [300, 700, 200, 500, 500],name: '实际支出',},],lineStyle: {color: '#fff',type: 'dotted', // 点线},},
],
'ascending'
(从小到大),'descending'
(从大到小),'none'
(表示按 data 顺序),或者一个函数(即 Array.prototype.sort(function (a, b) { ... })
)。series: [{name: '等级',type: 'funnel',// 漏斗图位置left: '10%',top: 60,bottom: 60,width: '80%', // 宽度min: 0, // 最小值max: 100, // 最大值minSize: '0%', //最小百分比maxSize: '100%', // 最大百分比sort: 'descending', // 排序,从小到大还是从大到小data: [{ value: 60, name: '神器' },{ value: 40, name: '紫装' },{ value: 20, name: '白装' },{ value: 80, name: '传说' },{ value: 100, name: '史诗' },],},
],
series: [{name: '等级',type: 'funnel',// 漏斗图位置left: '10%',top: 60,bottom: 60,width: '80%', // 宽度min: 0, // 最小值max: 100, // 最大值minSize: '0%', //最小百分比maxSize: '100%', // 最大百分比sort: 'descending', // 排序,从小到大还是从大到小data: [{ value: 60, name: '神器' },{ value: 40, name: '紫装' },{ value: 20, name: '白装' },{ value: 80, name: '传说' },{ value: 100, name: '史诗' },],itemStyle: {borderWidth: 3,borderColor: '#ccc',},},
],
series: [{name: '等级',type: 'funnel',// 漏斗图位置left: '10%',top: 60,bottom: 60,width: '80%', // 宽度min: 0, // 最小值max: 100, // 最大值minSize: '0%', //最小百分比maxSize: '100%', // 最大百分比sort: 'descending', // 排序,从小到大还是从大到小data: [{ value: 60, name: '神器' },{ value: 40, name: '紫装' },{ value: 20, name: '白装' },{ value: 80, name: '传说' },{ value: 100, name: '史诗' },],itemStyle: {borderWidth: 3,borderColor: '#ccc',},label: {show: true,position: 'inside',},},
],
series: [{name: '等级',type: 'funnel',// 漏斗图位置left: '10%',top: 60,bottom: 60,width: '80%', // 宽度min: 0, // 最小值max: 100, // 最大值minSize: '0%', //最小百分比maxSize: '100%', // 最大百分比sort: 'descending', // 排序,从小到大还是从大到小data: [{ value: 60, name: '神器' },{ value: 40, name: '紫装' },{ value: 20, name: '白装' },{ value: 80, name: '传说' },{ value: 100, name: '史诗' },],itemStyle: {borderWidth: 3,borderColor: '#ccc',},label: {show: true,position: 'inside',},emphasis: {label: {fontSize: 20,},},},
],
series: [{name: '基本仪表盘',type: 'gauge',detail: {formatter: '{value}',// 是否开启标签的数字动画valueAnimation: true,},data: [{value: 50,name: '提示信息',},],},
],
series: [{name: '基本仪表盘',type: 'gauge',detail: {formatter: '{value}',// 是否开启标签的数字动画valueAnimation: true,},progress: {show: true, // 是否显示进度条},data: [{value: 50,name: '提示信息',},],},
],
layout
图的布局,取值有 'none'
不采用任何布局,使用节点中提供的 x, y 作为节点的位置'circular'
采用环形布局,见示例 Les Miserables
,布局相关的配置项见 graph.circular
'force'
采用力引导布局,见示例 Force
,布局相关的配置项见 graph.force
symbolSize
,直接设置大小list: [{name: '张三',id: 0,symbolSize: 10, // 点的大小},{name: '李四',id: 1,symbolSize: 13,},{name: '王五',id: 2,symbolSize: 16,},{name: '赵六',id: 3,symbolSize: 13,},
],
series: [{type: 'graph',data: this.list,layout: 'force', // 图的布局itemStyle: { // 每一项的样式color: 'pink',},},
],
series: [{type: 'graph',data: this.list,layout: 'force', // 图的布局itemStyle: {color: 'pink',},label: {// 图形上的文字show: true,position: 'bottom',distance: 6, // 距离图形的距离fontSize: 16,align: 'center',},},
],
series: [{type: 'graph',data: this.list,layout: 'force', // 图的布局// 设置每一项的样式itemStyle: {color: 'skyblue',},// 设置字体的样式label: {// 图形上的文字show: true,position: 'bottom',distance: 6, // 距离图形的距离fontSize: 16,align: 'center',},// 设置间距focus: {repulsion: 100, // 点与点之间的gravity: 0.01, // 距离中心点的位置,值越大节点越往中心点靠拢edgeLength: 200, // 边的两个节点之间的距离},// 节点间的关系数据links: {},},
]
data() {return {num: [{source: '1', // 边的节点名称target: '2', // 目标节点名称relation: {name: '朋友',id: 1,},},{source: '1', // 边的节点名称target: '3', // 目标节点名称relation: {name: '朋友',id: 1,},},{source: '1', // 边的节点名称target: '4', // 目标节点名称relation: {name: '朋友',id: 1,},},],}
}// 节点间的关系数据(怎么连接))
links: this.num,
// 调用配置方法
myChart.setOption(option)
},
}
##### 设置点的大小(在关系数组数据中设置)- `symbolSize`,直接设置大小```js
list: [{name: '张三',id: 0,symbolSize: 10, // 点的大小},{name: '李四',id: 1,symbolSize: 13,},{name: '王五',id: 2,symbolSize: 16,},{name: '赵六',id: 3,symbolSize: 13,},
],
series: [{type: 'graph',data: this.list,layout: 'force', // 图的布局itemStyle: { // 每一项的样式color: 'pink',},},
],
series: [{type: 'graph',data: this.list,layout: 'force', // 图的布局itemStyle: {color: 'pink',},label: {// 图形上的文字show: true,position: 'bottom',distance: 6, // 距离图形的距离fontSize: 16,align: 'center',},},
],
series: [{type: 'graph',data: this.list,layout: 'force', // 图的布局// 设置每一项的样式itemStyle: {color: 'skyblue',},// 设置字体的样式label: {// 图形上的文字show: true,position: 'bottom',distance: 6, // 距离图形的距离fontSize: 16,align: 'center',},// 设置间距focus: {repulsion: 100, // 点与点之间的gravity: 0.01, // 距离中心点的位置,值越大节点越往中心点靠拢edgeLength: 200, // 边的两个节点之间的距离},// 节点间的关系数据links: {},},
]
data() {return {num: [{source: '1', // 边的节点名称target: '2', // 目标节点名称relation: {name: '朋友',id: 1,},},{source: '1', // 边的节点名称target: '3', // 目标节点名称relation: {name: '朋友',id: 1,},},{source: '1', // 边的节点名称target: '4', // 目标节点名称relation: {name: '朋友',id: 1,},},],}
}// 节点间的关系数据(怎么连接))
links: this.num,