【VUE】VUE项目中使用Js2WordCloud实现自定义形状的词云图效果

【VUE】VUE中词云图实现(Js2WordCloud 词云安装用法)

词云图一直用echarts和D3,昨天想在Vue里用一下,发现echarts-cloud的词云好像不太支持,Echarts官网里的词云DEMO也显示不出。办法总比问题多,懒惰让我放弃研究,直接用了以前用过的Js2WordCloud,在VUE里实现了下,其实比较强推这个,我觉得他的可以自定义Imagemask和可以设置时间慢慢渲染出来的效果都不错。

1.VUE工程下安装Js2WordCloud

在vue工程下(client下也可):

npm install js2wordcloud 

在这里插入图片描述
妥了!

2.引入Js2WordCloud

直接在组件的Script下添加代码:

import Js2WordCloud from 'js2wordcloud'

3.配置与使用Js2WordCloud

我把它写在一个函数里renderCloud(words)
其中,words为传递进去的数据,列表形式.
list: [[‘谈笑风生’, 80], [‘谈笑风生’, 80], [‘谈笑风生’, 70]…]
一般情况下【单词】是长文本分词的结果,中文推Jieba。
基本配置下面够用了:

 renderCloud (words) {
      var wc = new Js2WordCloud(document.getElementById('chart2'))
      let list = words
      let option = {
        imageShape: require('@/assets/p1.jpg'),
        tooltip: {
          show: false,
          formatter: function (item) {
            console.log(item)
          }
        },
        list: list,
        shape: 'pentagon',
        ellipticity: 1
      }
      console.log(list)
      wc.setOption(option)
      window.onresize = function () {
        wc.setOption(option)
      }
    }

一个不是很详细的官方文档,例子还挺简单:
地址:https://www.npmjs.com/package/js2wordcloud

4.词云效果

数据:我爬了知乎某条关于“慕寒”的问题,处理并分词
Imageshape:找个张图
效果还可以~~看不出是一张飞机背景吧。。。捂脸
在这里插入图片描述

--------EchoZhang–2020/03/10-----这周研究下爬vikidata,vue暂停一下,搭了一个vue+flask的平台算是入门啦-----

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要在Vue项目使用echarts-wordcloud绘制词云图,可以按照以下步骤操作: 1. 安装echarts和echarts-wordcloud插件 ```bash npm install echarts --save npm install echarts-wordcloud --save ``` 2. 在需要使用词云图组件引入echarts ```javascript import echarts from 'echarts' ``` 3. 在mounted生命周期初始化echarts实例,并设置词云图的配置项 ```javascript mounted() { const chartDom = this.$refs.chart const myChart = echarts.init(chartDom) const option = { series: [{ type: 'wordCloud', shape: 'circle', sizeRange: [20, 80], rotationRange: [-90, 90], rotationStep: 45, gridSize: 2, textStyle: { normal: { fontFamily: 'sans-serif', fontWeight: 'bold', color: function () { return 'rgb(' + [ Math.round(Math.random() * 255), Math.round(Math.random() * 255), Math.round(Math.random() * 255) ].join(',') + ')' } } }, data: [ { name: 'Apple', value: 10000 }, { name: 'Banana', value: 6181 }, { name: 'Orange', value: 4386 }, { name: 'Watermelon', value: 4055 }, { name: 'Pineapple', value: 2467 }, { name: 'Grape', value: 2244 }, { name: 'Mango', value: 1898 }, { name: 'Pear', value: 1484 }, { name: 'Cherry', value: 1001 }, { name: 'Peach', value: 987 }, { name: 'Kiwi', value: 900 } ] }] } myChart.setOption(option) } ``` 4. 在模板添加echarts实例的容器 ```html <template> <div> <div ref="chart" style="width: 600px; height: 400px;"></div> </div> </template> ``` 以上就是在Vue项目使用echarts-wordcloud绘制词云图的步骤,需要注意的是,词云图的配置项需要根据实际需求进行修改。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值