Vue+词云图版本问题解决

在做一个方案用到词云图,期间查询相关资料,发现均会遇到版本问题导致词云图不能有效展示,今天有完成特做一个汇总。

 

一、安装echarts 和 echarts-wordcloud,注意安装版本

npm install echarts@4.9.0

npm install echars-wordcloud@1.1.3

二、在main.js 或对应的js 文件下引入echarts 包

import echarts from 'echarts'

Vue.prototype.$echarts = echarts

三、HTML 里的代码如下: 

<div id="char2" :style="{width: '100%', height: '78%'}"></div>

四、JS如下,注意最后的 data 数据,this.worddata 是引作 data 里的数据,这样方便从后端实时更新数据。

        initCharts() 函数【注意下文会用到】

initCharts(){
		let myChart2 = this.$echarts.init(document.getElementById('char2'));

		myChart2.setOption({
                        title: {
                            //text: "center"
                        },
						backgroundColor: "#E6E6FA",
						tooltip: {},
   
如果您使用v-chart来绘制词云图,并且在多次刷新数据后发现图表重叠在一起,这可能是因为您没有正确地销毁之前的图表实例。下面是一个简单的解决方案: ```javascript // 在Vue组件中定义以下代码 import { Wordcloud } from 'v-chart'; export default { // ... components: { Wordcloud }, data() { return { chartData: [] }; }, methods: { loadChartData() { // 从API获取数据并更新chartData数组 // ... }, renderChart() { // 销毁之前的图表实例 this.$refs.wordcloud.clear(); // 使用新数据渲染图表 this.$refs.wordcloud.renderChart({ series: [{ type: 'wordCloud', data: this.chartData }] }); } }, mounted() { this.loadChartData(); this.renderChart(); }, watch: { chartData() { this.renderChart(); } } } ``` 在这个示例中,我们首先通过import导入v-chart的Wordcloud组件,并在Vue组件中注册它。然后我们定义了一个chartData数组来存储从API获取的词云图数据,并实现了loadChartData()方法来更新这个数组。接下来,我们定义了一个renderChart()方法来渲染词云图。 在renderChart()方法中,我们首先使用this.$refs.wordcloud.clear()来销毁之前的图表实例,确保每次渲染都是一个全新的实例。然后我们使用this.$refs.wordcloud.renderChart()方法来渲染词云图,传递一个包含新数据的options对象。 最后,我们在Vue组件的mounted()钩子中调用loadChartData()和renderChart()方法来初始化图表,然后在chartData数组发生变化时使用watch监听器来重新渲染图表。 希望这个示例能够帮助您解决问题
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值