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

1.安裝依賴
npm install echarts npm install echarts-wordcloud
2.main.js引入
import echarts from 'echarts'; Vue.prototype.$echarts = echarts
3.在用到的組件中引入擴展
<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="各省累計確診" 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="各市累計確診" 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': '臺灣', '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': '澳門', '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': '臺灣', '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': '澳門', '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': '臺灣', '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': '澳門', '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': '臺灣', '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': '澳門', '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: '各省累計確診-詞云',//標題
x: 'center',
textStyle: {
fontSize: 23
}
},
backgroundColor: '#fff', //F7F7F7
tooltip: {
show: true
},
series: [{
name: '各省累計確診',//數(shù)據(jù)提示窗標題
type: 'wordCloud',
sizeRange: [12, 64],//畫布范圍,如果設(shè)置太大會出現(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)有確診-詞云',//標題
x: 'center',
textStyle: {
fontSize: 23
}
},
backgroundColor: '#fff',
tooltip: {
show: true
},
series: [{
name: '各省現(xiàn)有確診',//數(shù)據(jù)提示窗標題
type: 'wordCloud',
sizeRange: [12, 64],//畫布范圍,如果設(shè)置太大會出現(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: '各市累計確診-詞云',//標題
x: 'center',
textStyle: {
fontSize: 23
}
},
backgroundColor: '#fff',
tooltip: {
show: true
},
series: [{
name: '各市累計確診',//數(shù)據(jù)提示窗標題
type: 'wordCloud',
sizeRange: [12, 64],//畫布范圍,如果設(shè)置太大會出現(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)有確診-詞云',//標題
x: 'center',
textStyle: {
fontSize: 23
}
},
backgroundColor: '#fff',
tooltip: {
show: true
},
series: [{
name: '各市現(xiàn)有確診',//數(shù)據(jù)提示窗標題
type: 'wordCloud',
sizeRange: [12, 64],//畫布范圍,如果設(shè)置太大會出現(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue生態(tài)系統(tǒng)工具庫Vueuse的使用示例詳解
Vueuse 是一個功能強大的 Vue.js 生態(tài)系統(tǒng)工具庫,它提供了一系列的可重用的 Vue 組件和函數(shù),本文將介紹 Vueuse 的主要特點和用法,以及它在 Vue.js 開發(fā)中的作用和優(yōu)勢,感興趣的可以了解下2024-02-02
Electron自動更新失效報錯Error:?Object?has?been?destroyed的問題解決
本文主要講解如何解決?Error:?Object?has?been?destroyed?這個?Electron?中最常見的問題,以及?Electron?自動更新的流程,文中通過代碼示例給大家講解的非常詳細,需要的朋友可以參考下2024-01-01
使用Vue3+Vant組件實現(xiàn)App搜索歷史記錄功能(示例代碼)
最近接了個項目需要開發(fā)一個app項目,由于是第一次接觸這種app開發(fā),經(jīng)過一番思考,決定使用Vue3+Vant前端組件的模式進行開發(fā),下面把問題分析及實現(xiàn)代碼分享給大家,需要的朋友參考下吧2021-06-06
vue3中的數(shù)據(jù)劫持的最新實現(xiàn)方案的proxy示例詳解
Vue3中使用Proxy實現(xiàn)數(shù)據(jù)劫持,解決了Vue2中數(shù)組和對象劫持的遺留問題,Proxy可以修改某些操作的默認行為,通過get和set方法實現(xiàn)數(shù)據(jù)的劫持和保護機制,感興趣的朋友跟隨小編一起看看吧2024-11-11
Vue項目中如何封裝axios(統(tǒng)一管理http請求)
這篇文章主要給大家介紹了關(guān)于Vue項目中如何封裝axios(統(tǒng)一管理http請求)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
Vue+jsPlumb實現(xiàn)連線效果(支持滑動連線和點擊連線)
jsPlumb 是一個比較強大的繪圖組件,它提供了一種方法,主要用于連接網(wǎng)頁上的元素。本文將利用jsPlumb實現(xiàn)連線效果,同時支持滑動連線和點擊連線,感興趣的可以了解一下2023-01-01

