vue使用echarts詞云圖的實(shí)戰(zhàn)記錄
echarts詞云圖是echarts的一個(gè)擴(kuò)展
https://echarts.apache.org/zh/download-extension.html

1.安裝依賴(lài)
npm install echarts npm install echarts-wordcloud
2.main.js引入
import echarts from 'echarts'; Vue.prototype.$echarts = echarts
3.在用到的組件中引入擴(kuò)展
<script> import "echarts-wordcloud/dist/echarts-wordcloud"; import "echarts-wordcloud/dist/echarts-wordcloud.min"; </script>
4.配置
<template>
<div class="result">
<el-tabs type="border-card" v-model="name">
<el-tab-pane label="各省累計(jì)確診" name="0">
<div ref="chart1" style="width: 800px;height:600px;"></div>
</el-tab-pane>
<el-tab-pane label="各省現(xiàn)有確診" name="1">
<div ref="chart2" style="width: 800px;height:600px;" class="charts-two"></div>
</el-tab-pane>
<el-tab-pane label="各市累計(jì)確診" name="2">
<div ref="chart3" style="width: 800px;height:600px;"></div>
</el-tab-pane>
<el-tab-pane label="各市現(xiàn)有確診" name="3">
<div ref="chart4" style="width: 800px;height:600px;"></div>
</el-tab-pane>
</el-tabs>
</div>
</template>
// 詞云圖
<script>
import * as echarts from "echarts";
import "echarts-wordcloud/dist/echarts-wordcloud";
import "echarts-wordcloud/dist/echarts-wordcloud.min";
export default {
name: "VisitShow",
data() {
return {
userVisitNum: [],
date: [],
goodVisitNum: [],
goodsName: [],
name: "0",
};
},
mounted() {
this.showEeharts();
},
methods: {
showEeharts() {
var chart1 = echarts.init(this.$refs.chart1);
var chart2 = echarts.init(this.$refs.chart2);
var chart3 = echarts.init(this.$refs.chart3);
var chart4 = echarts.init(this.$refs.chart4);
var data1 = [
{'name': '香港', 'value': 11801},
{'name': '臺(tái)灣', 'value': 1178},
{'name': '上海', 'value': 2006},
{'name': '廣東', 'value': 2365},
{'name': '云南', 'value': 347},
{'name': '四川', 'value': 992},
{'name': '福建', 'value': 595},
{'name': '浙江', 'value': 1345},
{'name': '海南', 'value': 188},
{'name': '江蘇', 'value': 720},
{'name': '天津', 'value': 387},
{'name': '山西', 'value': 251},
{'name': '廣西', 'value': 275},
{'name': '陜西', 'value': 592},
{'name': '湖北', 'value': 38158},
{'name': '重慶', 'value': 597},
{'name': '內(nèi)蒙古', 'value': 382},
{'name': '湖南', 'value': 1045},
{'name': '山東', 'value': 879},
{'name': '北京', 'value': 1057},
{'name': '河南', 'value': 1312},
{'name': '甘肅', 'value': 193},
{'name': '西藏', 'value': 1},
{'name': '吉林', 'value': 573},
{'name': '河北', 'value': 1317},
{'name': '青海', 'value': 18},
{'name': '澳門(mén)', 'value': 49},
{'name': '新疆', 'value': 980},
{'name': '遼寧', 'value': 408},
{'name': '安徽', 'value': 994},
{'name': '黑龍江', 'value': 1610},
{'name': '貴州', 'value': 147},
{'name': '江西', 'value': 937},
{'name': '寧夏', 'value': 75}
]
var data2 = [
{'name': '香港', 'value': 118},
{'name': '臺(tái)灣', 'value': 89},
{'name': '上海', 'value': 56},
{'name': '廣東', 'value': 51},
{'name': '云南', 'value': 46},
{'name': '四川', 'value': 30},
{'name': '福建', 'value': 25},
{'name': '浙江', 'value': 22},
{'name': '海南', 'value': 17},
{'name': '江蘇', 'value': 8},
{'name': '天津', 'value': 7},
{'name': '山西', 'value': 7},
{'name': '廣西', 'value': 7},
{'name': '陜西', 'value': 6},
{'name': '湖北', 'value': 6},
{'name': '重慶', 'value': 6},
{'name': '內(nèi)蒙古', 'value': 4},
{'name': '湖南', 'value': 4},
{'name': '山東', 'value': 3},
{'name': '北京', 'value': 2},
{'name': '河南', 'value': 1},
{'name': '甘肅', 'value': 1},
{'name': '西藏', 'value': 0},
{'name': '吉林', 'value': 0},
{'name': '河北', 'value': 0},
{'name': '青海', 'value': 0},
{'name': '澳門(mén)', 'value': 0},
{'name': '新疆', 'value': 10},
{'name': '遼寧', 'value': 0},
{'name': '安徽', 'value': 0},
{'name': '黑龍江', 'value': 0},
{'name': '貴州', 'value': 0},
{'name': '江西', 'value': 0},
{'name': '寧夏', 'value': 0}
]
var data3 = [
{'name': '香港', 'value': 11801},
{'name': '臺(tái)灣', 'value': 1178},
{'name': '上海', 'value': 2006},
{'name': '廣東', 'value': 2365},
{'name': '云南', 'value': 347},
{'name': '四川', 'value': 992},
{'name': '福建', 'value': 595},
{'name': '浙江', 'value': 1345},
{'name': '海南', 'value': 188},
{'name': '江蘇', 'value': 720},
{'name': '天津', 'value': 387},
{'name': '山西', 'value': 251},
{'name': '廣西', 'value': 275},
{'name': '陜西', 'value': 592},
{'name': '湖北', 'value': 38158},
{'name': '重慶', 'value': 597},
{'name': '內(nèi)蒙古', 'value': 382},
{'name': '湖南', 'value': 1045},
{'name': '山東', 'value': 879},
{'name': '北京', 'value': 1057},
{'name': '河南', 'value': 1312},
{'name': '甘肅', 'value': 193},
{'name': '西藏', 'value': 1},
{'name': '吉林', 'value': 573},
{'name': '河北', 'value': 1317},
{'name': '青海', 'value': 18},
{'name': '澳門(mén)', 'value': 49},
{'name': '新疆', 'value': 980},
{'name': '遼寧', 'value': 408},
{'name': '安徽', 'value': 994},
{'name': '黑龍江', 'value': 1610},
{'name': '貴州', 'value': 147},
{'name': '江西', 'value': 937},
{'name': '寧夏', 'value': 75}
]
var data4 = [
{'name': '香港', 'value': 118},
{'name': '臺(tái)灣', 'value': 89},
{'name': '上海', 'value': 56},
{'name': '廣東', 'value': 51},
{'name': '云南', 'value': 46},
{'name': '四川', 'value': 30},
{'name': '福建', 'value': 25},
{'name': '浙江', 'value': 22},
{'name': '海南', 'value': 17},
{'name': '江蘇', 'value': 8},
{'name': '天津', 'value': 7},
{'name': '山西', 'value': 7},
{'name': '廣西', 'value': 7},
{'name': '陜西', 'value': 6},
{'name': '湖北', 'value': 6},
{'name': '重慶', 'value': 6},
{'name': '內(nèi)蒙古', 'value': 4},
{'name': '湖南', 'value': 4},
{'name': '山東', 'value': 3},
{'name': '北京', 'value': 2},
{'name': '河南', 'value': 1},
{'name': '甘肅', 'value': 1},
{'name': '西藏', 'value': 0},
{'name': '吉林', 'value': 0},
{'name': '河北', 'value': 0},
{'name': '青海', 'value': 0},
{'name': '澳門(mén)', 'value': 0},
{'name': '新疆', 'value': 10},
{'name': '遼寧', 'value': 0},
{'name': '安徽', 'value': 0},
{'name': '黑龍江', 'value': 0},
{'name': '貴州', 'value': 0},
{'name': '江西', 'value': 0},
{'name': '寧夏', 'value': 0}
]
var chart1Option = {
title: {
text: '各省累計(jì)確診-詞云',//標(biāo)題
x: 'center',
textStyle: {
fontSize: 23
}
},
backgroundColor: '#fff', //F7F7F7
tooltip: {
show: true
},
series: [{
name: '各省累計(jì)確診',//數(shù)據(jù)提示窗標(biāo)題
type: 'wordCloud',
sizeRange: [12, 64],//畫(huà)布范圍,如果設(shè)置太大會(huì)出現(xiàn)少詞(溢出屏幕)
rotationRange: [-45, 90],//數(shù)據(jù)翻轉(zhuǎn)范圍
//shape: 'circle',
textPadding: 0,
autoSize: {
enable: true,
minSize: 6
},
textStyle: {
normal: {
color: function() {
return 'rgb(' + [
Math.round(Math.random() * 160),
Math.round(Math.random() * 160),
Math.round(Math.random() * 160)
].join(',') + ')';
}
},
emphasis: {
shadowBlur: 10,
shadowColor: '#333'
}
},
data: data1,
}]
};
var chart2Option = {
title: {
text: '各省現(xiàn)有確診-詞云',//標(biāo)題
x: 'center',
textStyle: {
fontSize: 23
}
},
backgroundColor: '#fff',
tooltip: {
show: true
},
series: [{
name: '各省現(xiàn)有確診',//數(shù)據(jù)提示窗標(biāo)題
type: 'wordCloud',
sizeRange: [12, 64],//畫(huà)布范圍,如果設(shè)置太大會(huì)出現(xiàn)少詞(溢出屏幕)
rotationRange: [-45, 90],//數(shù)據(jù)翻轉(zhuǎn)范圍
//shape: 'circle',
textPadding: 0,
autoSize: {
enable: true,
minSize: 6
},
textStyle: {
normal: {
color: function() {
return 'rgb(' + [
Math.round(Math.random() * 160),
Math.round(Math.random() * 160),
Math.round(Math.random() * 160)
].join(',') + ')';
}
},
emphasis: {
shadowBlur: 10,
shadowColor: '#333'
}
},
data: data2,
}]
};
var chart3Option = {
title: {
text: '各市累計(jì)確診-詞云',//標(biāo)題
x: 'center',
textStyle: {
fontSize: 23
}
},
backgroundColor: '#fff',
tooltip: {
show: true
},
series: [{
name: '各市累計(jì)確診',//數(shù)據(jù)提示窗標(biāo)題
type: 'wordCloud',
sizeRange: [12, 64],//畫(huà)布范圍,如果設(shè)置太大會(huì)出現(xiàn)少詞(溢出屏幕)
rotationRange: [-45, 90],//數(shù)據(jù)翻轉(zhuǎn)范圍
//shape: 'circle',
textPadding: 0,
autoSize: {
enable: true,
minSize: 6
},
textStyle: {
normal: {
color: function() {
console.log('rgb(' + [
Math.round(Math.random() * 160),
Math.round(Math.random() * 160),
Math.round(Math.random() * 160)
].join(',') + ')')
return 'rgb(' + [
Math.round(Math.random() * 160),
Math.round(Math.random() * 160),
Math.round(Math.random() * 160)
].join(',') + ')';
}
},
emphasis: {
shadowBlur: 10,
shadowColor: '#333'
}
},
data: data3,
}]
};
var chart4Option = {
title: {
text: '各市現(xiàn)有確診-詞云',//標(biāo)題
x: 'center',
textStyle: {
fontSize: 23
}
},
backgroundColor: '#fff',
tooltip: {
show: true
},
series: [{
name: '各市現(xiàn)有確診',//數(shù)據(jù)提示窗標(biāo)題
type: 'wordCloud',
sizeRange: [12, 64],//畫(huà)布范圍,如果設(shè)置太大會(huì)出現(xiàn)少詞(溢出屏幕)
rotationRange: [-45, 90],//數(shù)據(jù)翻轉(zhuǎn)范圍
//shape: 'circle',
textPadding: 0,
autoSize: {
enable: true,
minSize: 6
},
textStyle: {
normal: {
color: function() {
console.log('rgb(' + [
Math.round(Math.random() * 160),
Math.round(Math.random() * 160),
Math.round(Math.random() * 160)
].join(',') + ')')
return 'rgb(' + [
Math.round(Math.random() * 160),
Math.round(Math.random() * 160),
Math.round(Math.random() * 160)
].join(',') + ')';
}
},
emphasis: {
shadowBlur: 10,
shadowColor: '#333'
}
},
data: data4,
}]
};
chart1.setOption(chart1Option);
chart2.setOption(chart2Option);
chart3.setOption(chart3Option);
chart4.setOption(chart4Option);
},
},
};
</script>
<style lang="less">
</style>
5.完成圖

總結(jié)
到此這篇關(guān)于vue使用echarts詞云圖的文章就介紹到這了,更多相關(guān)vue echarts詞云圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue生態(tài)系統(tǒng)工具庫(kù)Vueuse的使用示例詳解
Vueuse 是一個(gè)功能強(qiáng)大的 Vue.js 生態(tài)系統(tǒng)工具庫(kù),它提供了一系列的可重用的 Vue 組件和函數(shù),本文將介紹 Vueuse 的主要特點(diǎn)和用法,以及它在 Vue.js 開(kāi)發(fā)中的作用和優(yōu)勢(shì),感興趣的可以了解下2024-02-02
Electron自動(dòng)更新失效報(bào)錯(cuò)Error:?Object?has?been?destroyed的問(wèn)題解決
本文主要講解如何解決?Error:?Object?has?been?destroyed?這個(gè)?Electron?中最常見(jiàn)的問(wèn)題,以及?Electron?自動(dòng)更新的流程,文中通過(guò)代碼示例給大家講解的非常詳細(xì),需要的朋友可以參考下2024-01-01
使用Vue3+Vant組件實(shí)現(xiàn)App搜索歷史記錄功能(示例代碼)
最近接了個(gè)項(xiàng)目需要開(kāi)發(fā)一個(gè)app項(xiàng)目,由于是第一次接觸這種app開(kāi)發(fā),經(jīng)過(guò)一番思考,決定使用Vue3+Vant前端組件的模式進(jìn)行開(kāi)發(fā),下面把問(wèn)題分析及實(shí)現(xiàn)代碼分享給大家,需要的朋友參考下吧2021-06-06
在vue項(xiàng)目中如何獲取視頻的時(shí)長(zhǎng)
這篇文章主要介紹了在vue項(xiàng)目中如何獲取視頻的時(shí)長(zhǎng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04
vue3中的數(shù)據(jù)劫持的最新實(shí)現(xiàn)方案的proxy示例詳解
Vue3中使用Proxy實(shí)現(xiàn)數(shù)據(jù)劫持,解決了Vue2中數(shù)組和對(duì)象劫持的遺留問(wèn)題,Proxy可以修改某些操作的默認(rèn)行為,通過(guò)get和set方法實(shí)現(xiàn)數(shù)據(jù)的劫持和保護(hù)機(jī)制,感興趣的朋友跟隨小編一起看看吧2024-11-11
vue el-upload手動(dòng)上傳實(shí)現(xiàn)過(guò)程
這篇文章主要介紹了vue el-upload手動(dòng)上傳實(shí)現(xiàn)過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
Vue項(xiàng)目中如何封裝axios(統(tǒng)一管理http請(qǐng)求)
這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目中如何封裝axios(統(tǒng)一管理http請(qǐng)求)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
Vue+jsPlumb實(shí)現(xiàn)連線效果(支持滑動(dòng)連線和點(diǎn)擊連線)
jsPlumb 是一個(gè)比較強(qiáng)大的繪圖組件,它提供了一種方法,主要用于連接網(wǎng)頁(yè)上的元素。本文將利用jsPlumb實(shí)現(xiàn)連線效果,同時(shí)支持滑動(dòng)連線和點(diǎn)擊連線,感興趣的可以了解一下2023-01-01

