Vue使用Echarts實現(xiàn)排行榜效果
Vue使用 Echarts 做出排行榜的感覺,供大家參考,具體內容如下
其實這不算是一篇技術文的,就是單純的echarts調樣式就可以,但是有的地方設置還是不好設置的,所以說嘞,就保存一下吧,以后自己用到了的話課可以直接拿來修修改改就可以二次利用了。
做出來的效果就是這個樣子:

這個排行榜一共就展示前六,就是這個樣子,然后把這個echarts搞成了一個組件,在需要的地方引用就可以了。
下面直接上代碼:
<doc>
? 柱形圖-排行榜
</doc>
<template>
? <div id="bar" style="width: 100%;height:100%;"></div>
</template>
<script>
? import * as echarts from 'echarts'
? export default {
? ? data() {
? ? ? return {
? ? ? ? xValue: [1,1,1,2,3,3],
? ? ? ? yValue: ['陜西移動', '山西移動', '北京移動', '山東移動', '河北移動', '河南移動'],
? ? ? };
? ? },
? ? mounted() {
? ? ? this.show()
? ? },
? ? methods: {
? ? ? show() {
? ? ? ? this.charts = echarts.init(document.getElementById('bar'))
? ? ? ? var option = {
? ? ? ? ? color: ['#d84430'],
? ? ? ? ? tooltip: {
? ? ? ? ? ? show: true
? ? ? ? ? },
? ? ? ? ? yAxis: {
? ? ? ? ? ? axisTick: {
? ? ? ? ? ? ? show: false
? ? ? ? ? ? },
? ? ? ? ? ? axisLine: {
? ? ? ? ? ? ? show: false,
? ? ? ? ? ? },
? ? ? ? ? ? axisLabel: {
? ? ? ? ? ? ? inside: true,
? ? ? ? ? ? ? verticalAlign: 'bottom',
? ? ? ? ? ? ? lineHeight: 40,
? ? ? ? ? ? ? color: '#DDDFEB',
? ? ? ? ? ? ? formatter: function (value, index) { ? // 設置y軸文字的顏色
? ? ? ? ? ? ? ? if (index > 2) {
? ? ? ? ? ? ? ? ? return '{first|' + value + '}'
? ? ? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? ? return '{other|' + value + '}'
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? },
? ? ? ? ? ? ? rich: {
? ? ? ? ? ? ? ? other: {
? ? ? ? ? ? ? ? ? color: '#DDDFEB',
? ? ? ? ? ? ? ? ? opacity: 0.57
? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? ? first: {
? ? ? ? ? ? ? ? ? color: '#DDDFEB'
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? }
? ? ? ? ? ? },
? ? ? ? ? ? data: this.yValue
? ? ? ? ? },
? ? ? ? ? xAxis: {
? ? ? ? ? ? nameTextStyle: {
? ? ? ? ? ? ? color: 'rgba(255, 255, 255, 0.8)',
? ? ? ? ? ? ? align: 'right'
? ? ? ? ? ? },
? ? ? ? ? ? splitLine: {
? ? ? ? ? ? ? show: false,
? ? ? ? ? ? },
? ? ? ? ? ? axisLine: {
? ? ? ? ? ? ? show: false,
? ? ? ? ? ? },
? ? ? ? ? ? axisLabel: {
? ? ? ? ? ? ? color: 'rgba(255, 255, 255, 0.8)'
? ? ? ? ? ? },
? ? ? ? ? },
? ? ? ? ? grid: {
? ? ? ? ? ? top: '0%',
? ? ? ? ? ? bottom: '0%',
? ? ? ? ? ? left: '0%',
? ? ? ? ? ? right: '0%'
? ? ? ? ? },
? ? ? ? ? series: [{
? ? ? ? ? ? name: '預警排行榜',
? ? ? ? ? ? barWidth: 15,
? ? ? ? ? ? type: 'bar',
? ? ? ? ? ? data: this.xValue,
? ? ? ? ? ? itemStyle: {
? ? ? ? ? ? ? normal: {
? ? ? ? ? ? ? ? borderRadius: [3, 20, 20, 3],
? ? ? ? ? ? ? ? color: function (params) { ? // 設置柱形圖的顏色
? ? ? ? ? ? ? ? ? if (params.dataIndex === 5) {
? ? ? ? ? ? ? ? ? ? return '#d84430'
? ? ? ? ? ? ? ? ? } else if (params.dataIndex === 4) {
? ? ? ? ? ? ? ? ? ? return '#f38237'
? ? ? ? ? ? ? ? ? } else if (params.dataIndex === 3) {
? ? ? ? ? ? ? ? ? ? return '#e2aa20'
? ? ? ? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? ? ? return '#608289'
? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? },
? ? ? ? ? ? }
? ? ? ? ? }]
? ? ? ? };
? ? ? ? // 使用剛指定的配置項和數(shù)據(jù)顯示圖表。
? ? ? ? this.charts.setOption(option);
? ? ? ? window.addEventListener('resize', () => {
? ? ? ? ? this.charts.resize()
? ? ? ? })
? ? ? }
? ? }
? }
</script>
<style scoped>
</style>就是這個樣子,如果有特別的樣式可以稍微改一下。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
使用element-ui table expand展開行實現(xiàn)手風琴效果
這篇文章主要介紹了使用element-ui table expand展開行實現(xiàn)手風琴效果,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-03-03
詳解關于Vue2.0路由開啟keep-alive時需要注意的地方
這篇文章主要介紹了關于Vue2.0路由開啟keep-alive時需要注意的地方,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-09
vue學習筆記之指令v-text && v-html && v-bind詳解
這篇文章主要介紹了vue學習筆記之指令v-text && v-html && v-bind詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05
Vuex unknown action type報錯問題及解決
這篇文章主要介紹了Vuex unknown action type報錯問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02
VUE?html5-qrcode實現(xiàn)H5掃一掃功能實例
這篇文章主要給大家介紹了關于VUE?html5-qrcode實現(xiàn)H5掃一掃功能的相關資料,html5-qrcode是輕量級和跨平臺的QR碼和條形碼掃碼的JS庫,集成二維碼、條形碼和其他一些類型的代碼掃描功能,需要的朋友可以參考下2023-08-08
vue實現(xiàn)的雙向數(shù)據(jù)綁定操作示例
這篇文章主要介紹了vue實現(xiàn)的雙向數(shù)據(jù)綁定操作,結合完整實例形式較為詳細的分析了vue.js進行數(shù)據(jù)雙向綁定操作的常見實現(xiàn)方法與相關操作技巧,需要的朋友可以參考下2018-12-12

