变异柱状图

描述:当前是关于Echarts图表中的 示例。
 
            var imgeURL = "/asset/get/s/data-1544518654374-oRnsCy-29.png";

var topsArr = [{name:"BS漏洞",value:85},{name:"Apache httpd漏洞",value:64},{name:"跨脚本(XSS)漏洞",value:56},
			{name:"目录遍历漏洞",value:51},{name:"MySQL漏洞",value:48},{name:"其他",value:40}];
			let colorListTops = [new echarts.graphic.LinearGradient(1, 0, 0, 0, [{offset: 1,color: '#ff6a5d'}, {offset: 0,color: '#fe897e'}]),
			new echarts.graphic.LinearGradient(1, 0, 0, 0, [{offset: 1,color: '#f67f4a'}, {offset: 0,color: '#fcc07d'}]),
			new echarts.graphic.LinearGradient(1, 0, 0, 0, [{offset: 1,color: '#f99b4e'}, {offset: 0,color: '#ffdd9f'}]),
			new echarts.graphic.LinearGradient(1, 0, 0, 0, [{offset: 1,color: '#dfc328'}, {offset: 0,color: '#f0e86f'}]),
			new echarts.graphic.LinearGradient(1, 0, 0, 0, [{offset: 1,color: '#c1fc7f'}, {offset: 0,color: '#cff4ad'}]),
			new echarts.graphic.LinearGradient(1, 0, 0, 0, [{offset: 1,color: '#51ebb3'}, {offset: 0,color: '#9ffedb'}])];
			
			let topsLable = { //图形上的文本标签
				normal: {
					show: true,
					position: 'right',
					formatter: function(params, i) {
						console.log(params)
						return params.value +"{small| 个}";
					},
					textStyle: {
						color: '#fff',
						fontStyle: 'normal',
						fontFamily: '微软雅黑',
						fontSize: 22,
						rich:{
							"small":{
								fontSize:16,
								color:'#FFF'
							}
						}
					},
				}
			}
			let topsImage = {
				"type": "pictorialBar",
				symbol: 'image://'+imgeURL,
				"symbolSize": [20, 140],
				symbolRotate: 0,
				"symbolOffset": [-30,0],
				"symbolBoundingData": 300,
				"data": [1, 2, 3],
				zlevel: 100,
				z: 100
			}
			let topsPush = [];//用于装漏洞
			let topLegend = [];//用于装Legend
			for (let i = 0; i < topsArr.length; i++) {
				let topsSizese = {
					name: topsArr[i].name,
					type: 'bar',
					data: [topsArr[i].value],
					barWidth: 16,
					barGap: '80%', //柱间距离
					label: topsLable,
					itemStyle: { //图形样式
						normal: {
							barBorderRadius: 10,
							color: function(params){
								return colorListTops[i]
							}
						},
					},
					zlevel: 9
				}
				topLegend.push(topsArr[i].name)
				topsPush.push(topsSizese);
			}
			topsPush.push(topsImage)
			
			var option = {
				grid: {
					left: '15%',
					right: '-4%',
					bottom: '1%',
					top: '23%',
				},
				backgroundColor:"#013d5a",
				legend: { //图例组件,颜色和名字
					top: '40%',
					x:'center',
					itemGap: 15,
					itemWidth: 18,
					itemHeight: 10,
					textStyle: {
						color: '#fff',
						fontStyle: 'normal',
						fontFamily: '微软雅黑',
						fontSize: 16,
					},
					data:topLegend
				},
				yAxis: [{
					type: 'category',
					boundaryGap: true, //坐标轴两边留白
					data: [''],
					name:"{white| 180}{paddingleft| 个\n漏洞总数}",
					nameTextStyle:{
						color:'#fff',
						fontSize:16,
						align:'left',
						rich:{
							'white':{
								fontWeight:'bold',
								fontSize:24,
								padding:[10,5,0,0]
							},
							'paddingleft':{
								fontSize:16,
								padding:[10,26,0,0]
							}
						}
					},
					nameLocation:'middle',
					nameRotate:'0',
					axisLabel: {
						interval: 0, //设置为 1,表示『隔一个标签显示一个标签』
						margin: 20,
						textStyle: {
							color: '#fff',
							fontStyle: 'normal',
							fontFamily: '微软雅黑',
							fontSize: 12,
						}
					},
					axisTick: { //坐标轴刻度相关设置。
						show: false,
					},
					axisLine: {
						show: false
					},
					splitLine: { //坐标轴在 grid 区域中的分隔线。
						show: false,
					}
				}],
				xAxis: [{
					type: 'value',
					splitNumber: 5,
					axisLabel: {
						show: false,
					},
					axisLine: {
						show: false
					},
					axisTick: {
						show: false
					},
					splitLine: {
						show: false
					}

				}],
				series: topsPush
			};