国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

vue使用echarts實現(xiàn)水平柱形圖實例

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

文件結(jié)構(gòu):

vue使用echarts實現(xiàn)水平柱形圖實例

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, // 用于在全局引用此文件里的方法時標(biāo)識這一個的文件名 dtuEdition}

dtuDistributionCurve.js文件

// DTU連接率bar圖的optionlet barOption = { grid: { // width: ’85%’, // 設(shè)置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: [] }]} // 設(shè)置y軸標(biāo)簽export function setYAxisData(edition) { let data = [] for (let key in edition) { data.push(key) } barOption.yAxis.data = data.reverse() console.log(barOption.yAxis.data)} // 設(shè)置x軸最大值export function setXAxisMax(number) { barOption.xAxis.max = number} // 設(shè)置series的data數(shù)據(jù)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模塊數(shù)量分布展示圖的扇區(qū)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’) { // 從后端獲取連接率統(tǒng)計數(shù)據(jù) } else { // 從后端獲取模塊數(shù)量分布展示數(shù)據(jù) 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實現(xiàn)水平柱形圖實例

補充知識:vue+echart實現(xiàn) X軸 雙柱狀圖 漸變色

一: 安裝

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

npm install echarts -S

2. 或者使用國內(nèi)的淘寶鏡像:

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

二: 創(chuàng)建圖表

全局引入

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() //函數(shù)調(diào)用 }, 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: ’{b}<br/>{a1}-違規(guī)率:{c1}<br/>{a0}-違規(guī)率:{c0}’, axisPointer: { type: 'shadow', textStyle: { color: '#fff' } }, }, grid: { top: ’8%’, right: ’8%’, bottom: ’60%’ }, legend: { data: [’省內(nèi)’, ’省外’], 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: ’省內(nèi)’, type: ’bar’, // color: colors[0], data: data1, itemStyle:{ normal: { //每個柱子的顏色即為colorList數(shù)組里的每一項,如果柱子數(shù)目多于colorList的長度,則柱子顏色循環(huán)使用該數(shù)組 //此處的箭頭函數(shù)是為了不改變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; } //方法一: //不使用箭頭函數(shù)的寫法改變漸變色 // return { // colorStops: [{ // offset: 0, //顏色開始的位置 // color: colorList[0][index] // 0% 處的顏色 // },{ // offset: 0.6, //顏色結(jié)束的位置 // color: colorList[1][index] // 100% 處的顏色 // }] // } //方法二:使用箭頭函數(shù)的寫法 改變雙柱狀圖的漸變顏色 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數(shù)組里的每一項,如果柱子數(shù)目多于colorList的長度,則柱子顏色循環(huán)使用該數(shù)組 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)’] ]; //方法一: //不使用箭頭函數(shù)的寫法改變漸變色 // return { // colorStops: [{ // offset: 0, // color: colorList[0][index] // 0% 處的顏色 // },{ // offset:0.6, // color: colorList[1][index] // 100% 處的顏色 // }] // } //方法二:使用箭頭函數(shù)的寫法 改變雙柱狀圖的漸變顏色 return new this.$echarts.graphic.LinearGradient(0,0,0,1,[ {offset: 0.2, color: colorList[1][index]}, {offset: 1, color: colorList[0][index]} ]) } } } }] }) } }}

最終結(jié)果

vue使用echarts實現(xiàn)水平柱形圖實例

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

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 国产成人免费视频 | 久在草视频 | 在线观看亚洲天堂 | 国产成人精品自拍 | 国产男人的天堂 | 久久国产精品久久国产精品 | 美女网站视频黄色 | 一级做性色a爰片久久毛片 一级做性色a爰片久久毛片免费 | 亚洲免费网站观看视频 | 黄性色 | 午夜性生活视频 | a一级毛片 | 久久免费手机视频 | 一区二区三区四区在线播放 | 99久久精品免费精品国产 | 成人精品区 | 久草最新在线 | 在线观看一区二区三区视频 | 97国产成人精品免费视频 | 99精品福利视频在线一区 | 精品久久久久久乐 | 日韩欧美不卡在线 | 在线观看国产一区二三区 | 国产网曝手机视频在线观看 | 综合爱爱网 | 久久精品国产半推半就 | 色老头久久久久 | aaaaaa精品视频在线观看 | 久99频这里只精品23热 视频 | 久久精品国产亚洲欧美 | 韩国三级日本三级香港三级黄 | 亚洲 欧美 日韩 丝袜 另类 | 精品中文字幕久久久久久 | 国产系列在线 | 大伊香蕉精品视频在线 | 久草手机在线观看 | 2018久久久国产精品 | 国产v精品成人免费视频400条 | 一级片在线免费看 | 欧美日韩亚洲一区二区三区在线观看 | 在线免费观看成年人视频 |