电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

vue使用echarts實現水平柱形圖實例

瀏覽:112日期:2022-11-25 10:18:14

文件結構:

vue使用echarts實現水平柱形圖實例

testData.js文件

const dtuEdition = { name: ’有方有線’, number: 60, proportion: 40, edition: { ’有方有線V1.0.0’: 20, ’有方有線V1.2.0’: 15, ’有方有線V2.0.1’: 10, ’有方有線V3.0.0’: 8, ’有方有線V3.2.0’: 5, ’有方有線V3.4.0’: 4, ’有方有線V4.0.0’: 3, ’有方有線V4.0.2’: 2, ’有方有線V4.0.3’: 1 }} export default { namespaced: true, // 用于在全局引用此文件里的方法時標識這一個的文件名 dtuEdition}

dtuDistributionCurve.js文件

// DTU連接率bar圖的optionlet barOption = { grid: { // width: ’85%’, // 設置gird寬度 left: 40, // gird距離容器左邊距 right: 65, top: 20, bottom: 0, containLabel: true }, xAxis: { show : false, // 不顯示橫軸 type: ’value’, max: 1000, // 橫軸最大值 }, yAxis: { type: ’category’, data: [], axisLine: { show: false }, axisTick: { show: false }, splitLine: { show: false } }, series: [{ type: ’bar’, stack: ’chart’, z: 3, itemStyle: { normal: { color: ’#a7c7e9’ } }, data: [] }, { type: ’bar’, stack: ’chart’, silent: true, label: { normal: { formatter: (params) => { // console.log(params) return barOption.xAxis.max-params.value }, color: ’#666666’, position: ’right’, distance: 10, show: true } }, itemStyle: { normal: { color: ’#f3f3f6’ } }, barWidth : 10,//柱圖寬度 data: [] }]} // 設置y軸標簽export function setYAxisData(edition) { let data = [] for (let key in edition) { data.push(key) } barOption.yAxis.data = data.reverse() console.log(barOption.yAxis.data)} // 設置x軸最大值export function setXAxisMax(number) { barOption.xAxis.max = number} // 設置series的data數據export function setSeriesData(edition, number) { let data0 = [] let data1 = [] for(let key in edition) { data0.push(edition[key]) data1.push(number - edition[key]) } barOption.series[0].data = data0.reverse() barOption.series[1].data = data1.reverse()} export default { barOption, setYAxisData, setXAxisMax, setSeriesData}

vue文件

<template> <div ref='dtuEdition' class='project-survey-dtu-edition'></div></template> <script> import testData from ’../constvalue/testData’ import dtuDistributionOption from ’../curveoption/dtuDistributionCurve’ export default { name: ’ProjectSurvey’, data() { return { dtuEditionChart: null } }, methods: { // 點擊DTU模塊數量分布展示圖的扇區item distributionChartClick(param) { console.log(param) let dtuEdition = testData.dtuEdition this.dtuName = dtuEdition.name this.dtuNumber = dtuEdition.number this.dtuProportion = dtuEdition.proportion + ’%’ dtuDistributionOption.setYAxisData(dtuEdition.edition) dtuDistributionOption.setXAxisMax(dtuEdition.number) dtuDistributionOption.setSeriesData(dtuEdition.edition, dtuEdition.number) this.dtuEditionChart.setOption(dtuDistributionOption.barOption) this.dtuEditionChart.resize() }, // 點擊tab的某頁 tabClick(tab, event) { console.log(this.activeName) if(this.activeName === ’first’) { // 從后端獲取連接率統計數據 } else { // 從后端獲取模塊數量分布展示數據 let distributionInfo = testData.dtuDistribution.distributionInfo this.deadline = testData.dtuDistribution.deadline dtuDistributionOption.setSectorValue(distributionInfo) dtuDistributionOption.setSectorName(testData.dtuDistribution.allDistribution) this.distributionChart.setOption(dtuDistributionOption.pieOption) this.distributionChart.resize() this.distributionChart.on(’click’, this.distributionChartClick) } } }, mounted() { this.dtuEditionChart = this.$echarts.init(this.$refs.dtuEdition) this.distributionChart = this.$echarts.init(this.$refs.dtuDistribution) let maxV = this.getMaxV() let minV = this.getMinV() for(let item of this.connectionInfo) { this.charts[item.dtuName] = this.$echarts.init(document.getElementById(item.dtuName)) let normalizationRatio = this.normalization(item.connectionRatio, maxV, minV) dtuConnectionOption.setSectorColor(normalizationRatio) dtuConnectionOption.setTitleText(item.dtuName) dtuConnectionOption.setSectorValue(item.connectionRatio) dtuConnectionOption.setSectorName(item.connectionRatio) // console.log(dtuConnectionOption.option) this.charts[item.dtuName].setOption(dtuConnectionOption.option) this.charts[item.dtuName].resize() } window.onresize = () => { this.distributionChart.resize() this.dtuEditionChart.resize() } }, updated() { this.distributionChart.resize() for(let item of this.connectionInfo) { this.charts[item.dtuName].resize() } } }</script> <style> .project-survey-dtu-edition { height: 580px; }</style>

圖表

vue使用echarts實現水平柱形圖實例

補充知識:vue+echart實現 X軸 雙柱狀圖 漸變色

一: 安裝

1. 首先需要安裝echarts依賴包

npm install echarts -S

2. 或者使用國內的淘寶鏡像:

npm install -g cnpm --registry=https://registry.npm.taobao.org

二: 創建圖表

全局引入

main.js

>```javascript// 引入echartsimport echarts from ’echarts’Vue.prototype.$echarts = echarts

Hello.vue

<div :style='{width: ’300px’, height: ’300px’}'></div>

export default { data(){ return {} }, mounted(){ this.myChart() //函數調用 }, methods:{ myChart(){ let myChart= this.$echarts.init(document.getElementById(’myChart’)); // var colors = [’rgba(15,115,255,0.6)’, ’rgba(15,235,255,0.6)’]; var data1 = [350, 250, 170, 360, 240]; var data2 = [187, 146, 129, 174,245]; var xData = [’3.12’,’3.13’,’3.14’,’3.15’,’3.16’] rightBtns.setOption({ // backgroundColor:’#fff’, tooltip: { trigger: 'axis', // formatter: ’<br/>{a1}-違規率:{c1}<br/>{a0}-違規率:{c0}’, axisPointer: { type: 'shadow', textStyle: { color: '#fff' } }, }, grid: { top: ’8%’, right: ’8%’, bottom: ’60%’ }, legend: { data: [’省內’, ’省外’], align: ’left’, left: ’30%’, top: ’4%’, textStyle:{ color:’#fff’ } }, calculable: true, xAxis: [{ type: 'category', data: xData, axisLine: { lineStyle: { color: ’rgba(255,255,255,0.1)’ }, }, axisLabel: { show: true, textStyle: { color: ’#fff’ } }, }], yAxis: { type: ’value’, // name:’單位:(人次 )’, min: 0, max: 500, interval: 100, axisLine: { lineStyle: { color: ’rgba(255,255,255,0.1)’ } }, splitLine: { lineStyle: { type: ’dashed’, }, show:false }, axisLabel: { show: true, textStyle: { color: ’#fff’ } }, }, series: [{ name: ’省內’, type: ’bar’, // color: colors[0], data: data1, itemStyle:{ normal: { //每個柱子的顏色即為colorList數組里的每一項,如果柱子數目多于colorList的長度,則柱子顏色循環使用該數組 //此處的箭頭函數是為了不改變this的指向 color: (params) => { var index = params.dataIndex; var colorList = [ // 漸變顏色的色值和透明度 //雙柱狀圖漸變的 第一個柱子的漸變色[’rgba(15,235,255,0)’,’rgba(15,235,255,0)’,’rgba(15,235,255,0)’,’rgba(15,235,255,0)’,’rgba(15,235,255,0)’], [’rgba(15,235,255,0.6)’,’rgba(15,235,255,0.6)’,’rgba(15,235,255,0.6)’,’rgba(15,235,255,0.6)’,’rgba(15,235,255,0.6)’] ]; if(params.dataIndex >= colorList.length){ index=params.dataIndex-colorList.length; } //方法一: //不使用箭頭函數的寫法改變漸變色 // return { // colorStops: [{ // offset: 0, //顏色開始的位置 // color: colorList[0][index] // 0% 處的顏色 // },{ // offset: 0.6, //顏色結束的位置 // color: colorList[1][index] // 100% 處的顏色 // }] // } //方法二:使用箭頭函數的寫法 改變雙柱狀圖的漸變顏色 return new this.$echarts.graphic.LinearGradient(0,0,0,1,[ {offset: 0.2, color: colorList[1][index]}, {offset: 1, color: colorList[0][index]} ]) } } } }, { name: ’省外’, type: ’bar’, // color: colors[1], data: data2, itemStyle:{ normal: { //每個柱子的顏色即為colorList數組里的每一項,如果柱子數目多于colorList的長度,則柱子顏色循環使用該數組 color: (params) => { var index = params.dataIndex; var colorList = [ // 漸變顏色的色值和透明度 //雙柱狀圖漸變的 漸變第二個柱子的漸變色[’rgba(15,115,255,0)’,’rgba(15,115,255,0)’,’rgba(15,115,255,0)’,’rgba(15,115,255,0)’,’rgba(15,115,255,0)’], [’rgba(15,115,255,0.6)’,’rgba(15,115,255,0.6)’,’rgba(15,115,255,0.6)’,’rgba(15,115,255,0.6)’,’rgba(15,115,255,0.6)’] ]; //方法一: //不使用箭頭函數的寫法改變漸變色 // return { // colorStops: [{ // offset: 0, // color: colorList[0][index] // 0% 處的顏色 // },{ // offset:0.6, // color: colorList[1][index] // 100% 處的顏色 // }] // } //方法二:使用箭頭函數的寫法 改變雙柱狀圖的漸變顏色 return new this.$echarts.graphic.LinearGradient(0,0,0,1,[ {offset: 0.2, color: colorList[1][index]}, {offset: 1, color: colorList[0][index]} ]) } } } }] }) } }}

最終結果

vue使用echarts實現水平柱形圖實例

以上這篇vue使用echarts實現水平柱形圖實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
主站蜘蛛池模板: 比亚迪叉车-比亚迪电动叉车堆垛车托盘车仓储叉车价格多少钱报价 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 包塑丝_高铁绑丝_地暖绑丝_涂塑丝_塑料皮铁丝_河北创筹金属丝网制品有限公司 | 细沙回收机-尾矿干排脱水筛设备-泥石分离机-建筑垃圾分拣机厂家-青州冠诚重工机械有限公司 | 台湾阳明固态继电器-奥托尼克斯光电传感器-接近开关-温控器-光纤传感器-编码器一级代理商江苏用之宜电气 | 免费个人pos机申请办理-移动pos机刷卡-聚合收款码办理 | 安徽控制器-合肥船用空调控制器-合肥家电控制器-合肥迅驰电子厂 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 陕西华春网络科技股份有限公司| 【MBA备考网】-2024年工商管理硕士MBA院校/报考条件/培训/考试科目/提前面试/考试/学费-MBA备考网 | 仿古瓦,仿古金属瓦,铝瓦,铜瓦,铝合金瓦-西安东申景观艺术工程有限公司 | 氨水-液氨-工业氨水-氨水生产厂家-辽宁顺程化工| 空压机网_《压缩机》杂志| 深圳市源和塑胶电子有限公司-首页 | 户外健身路径_小区健身器材_室外健身器材厂家_价格-浩然体育 | 电位器_轻触开关_USB连接器_广东精密龙电子科技有限公司 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 土壤墒情监测站_土壤墒情监测仪_土壤墒情监测系统_管式土壤墒情站-山东风途物联网 | PTFE接头|聚四氟乙烯螺丝|阀门|薄膜|消解罐|聚四氟乙烯球-嘉兴市方圆氟塑制品有限公司 | 北京开业庆典策划-年会活动策划公司-舞龙舞狮团大鼓表演-北京盛乾龙狮鼓乐礼仪庆典策划公司 | 硫化罐_蒸汽硫化罐_大型硫化罐-山东鑫泰鑫智能装备有限公司 | 亳州网络公司 - 亳州网站制作 - 亳州网站建设 - 亳州易天科技 | 广东泵阀展|阀门展-广东国际泵管阀展览会 | 篷房[仓储-婚庆-展览-活动]生产厂家-江苏正德装配式帐篷有限公司 | 汽车润滑油厂家-机油/润滑油代理-高性能机油-领驰慧润滑科技(河北)有限公司 | 通信天线厂家_室分八木天线_对数周期天线_天线加工厂_林创天线源头厂家 | 科客,主见不成见| 隔离变压器-伺服变压器--输入输出电抗器-深圳市德而沃电气有限公司 | 超声波反应釜【百科】-以马内利仪器 | 北京公积金代办/租房发票/租房备案-北京金鼎源公积金提取服务中心 | 南京展台搭建-南京展会设计-南京展览设计公司-南京展厅展示设计-南京汇雅展览工程有限公司 | 低温柔性试验仪-土工布淤堵-沥青车辙试验仪-莱博特(天津)试验机有限公司 | Brotu | 关注AI,Web3.0,VR/AR,GPT,元宇宙区块链数字产业 | 膏剂灌装旋盖机-眼药水灌装生产线-西林瓶粉剂分装机-南通博琅机械科技 | ◆大型吹塑加工|吹塑加工|吹塑代加工|吹塑加工厂|吹塑设备|滚塑加工|滚塑代加工-莱力奇塑业有限公司 | 数控专用机床,专用机床,自动线,组合机床,动力头,自动化加工生产线,江苏海鑫机床有限公司 | 10吨无线拉力计-2吨拉力计价格-上海佳宜电子科技有限公司 | 七维官网-水性工业漆_轨道交通涂料_钢结构漆 | 苹果售后维修点查询,苹果iPhone授权售后维修服务中心 – 修果网 拼装地板,悬浮地板厂家,悬浮式拼装运动地板-石家庄博超地板科技有限公司 | 谷歌关键词优化-外贸网站优化-Google SEO小语种推广-思亿欧外贸快车 | 昊宇水工|河北昊宇水工机械工程有限公司 | 南京雕塑制作厂家-不锈钢雕塑制作-玻璃钢雕塑制作-先登雕塑厂 | 手表腕表维修保养鉴定售后服务中心网点 - 名表维修保养 |