[本文出自天外归云的博客园]

简介

在Vue中使用E-Charts可以用V-Charts,词云图在V-Charts官网中介绍比较简单,如果想更多定制的话,官网上说要在extend属性中进行扩展。

V-Charts官网关于V-Charts中词云图相关的介绍

Echart官网Echarts github中关于词云图相关的介绍

V-Charts官网关于extend配置项的介绍

使用示例

以下是扩展后的样子:

<template><div><el-row><h3 class="float-left"><i class="el-icon-check"></i> 分词统计</h3></el-row><el-row :gutter="20"><el-col :span="3"><SelectOption :selected.sync="versionSelected":options="versionOptions"placeholder="请选择版本"></SelectOption></el-col><el-col :span="3"><SelectOption :selected.sync="platformSelected":options="platformOptions"placeholder="请选择平台"></SelectOption></el-col><el-col :span="6"><DateTimePicker :dateValue.sync="dateValue"></DateTimePicker></el-col></el-row><!-- <div id="wordCloud"><wordcloud :rotate="{from: -5, to: 5, numOfOrientation: 5 }"fontScale="n"spiral="rectangular":data="cloudWords"nameKey="word"valueKey="cou":wordClick="showTimes"></wordcloud></div> --><ve-wordcloud v-if="showChart"width="100%"height="700px":data="chartData":extend="chartExtend":settings="chartSettings"></ve-wordcloud><div style="text-align:left;margin-left:10px"v-else>没数据</div></div>
</template>
<style>
</style>
<script>
import { SelectOption, DateTimePicker } from '@/components/common'
import { getFeedbackWordCloud } from '@/api/feedbacks'
import { EventBus } from '@/bus.js'
// import wordcloud from 'vue-wordcloud'
export default {name: 'wordCloud',components: {// wordcloud,
    SelectOption,DateTimePicker},data () {return {showChart: true,chartSettings: {color: ['#4876FF', '#87CEFA', '#98F5FF', '#BBFFFF']},chartExtend: {series: {rotationRange: [0, 0],sizeRange: [50, 150],width: '100%',height: '100%',drawOutOfBound: true,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'}}}},chartData: {columns: ['word', 'cou'],rows: []},version: [],versionSelected: 'all',versionOptions: [],platform: [],platformSelected: 'all',platformOptions: [],myProjectId: this.$route.query.feedbackProject,dateValue: [new Date(2018, 9, 1, 0, 0), new Date(2018, 9, 8, 0, 0)]}},methods: {/*** 阅读vue-wordcloud* WordCloud.vue源代码即可知此函数是必须的*/showTimes (val1, val2) {for (var i in val2.data) {if (val2.data[i]['text'] === val1) {var tip = '"' + val1 + '" 分词统计次数:' + val2.data[i]['cou']this.$alert(tip, '', {})}}},getFbWordCloud () {let _this = thislet projectId = _this.myProjectIdlet startTime = _this.startTimelet endTime = _this.endTimelet clientVersion = _this.versionSelectedlet origin = _this.platformSelectedif (origin === 'all') {origin = -1}getFeedbackWordCloud(projectId, startTime, endTime, clientVersion, origin).then(data => {_this.showChart = true_this.chartData.rows = dataif (data === undefined || data.length === 0) {_this.showChart = false}})},initVersion () {let _this = this// Version Select Options
      _this.versionOptions = []for (let index = 0; index < _this.version.length; index++) {_this.versionOptions.push({'id': (_this.version)[index].name,'label': (_this.version)[index].name,'value': (_this.version)[index].name})}_this.versionSelected = 'all'},initPlatform () {let _this = this// Platform Select Options
      _this.platformOptions = []for (let index = 0; index < _this.platform.length; index++) {_this.platformOptions.push({'id': (_this.platform)[index].id,'label': (_this.platform)[index].name,'value': (_this.platform)[index].id})}_this.platformSelected = 'all'},setDateValue () {let _this = thislet sDate = _this.dateValue[0]let eDate = _this.dateValue[1]_this.startTime = sDate.getFullYear() + '-' + (sDate.getMonth() + 1) + '-' + sDate.getDate() + ' 00:00:00'_this.endTime = eDate.getFullYear() + '-' + (eDate.getMonth() + 1) + '-' + eDate.getDate() + ' 00:00:00'// console.log(_this.startTime)// console.log(_this.endTime)
    }},created () {let _this = this_this.setDateValue()// Get projectId
    EventBus.$on('projectId', projectId => {// console.log('[WordCloud下车]projectId')
      _this.myProjectId = projectId})// Get version
    EventBus.$on('version', version => {// console.log('[WordCloud下车]version')
      _this.version = version_this.initVersion()})// Get origin
    EventBus.$on('origin', origin => {// console.log('[WordCloud下车]origin')
      _this.platform = origin_this.initPlatform()})},mounted () {this.getFbWordCloud()},watch: {versionSelected: {immediate: false,handler: function () {this.getFbWordCloud()}},platformSelected: {immediate: false,handler: function () {this.getFbWordCloud()}},dateValue: {immediate: false,handler: function () {this.setDateValue()this.getFbWordCloud()}},version: {immediate: false,handler: function () {this.getFbWordCloud()}},platform: {immediate: false,handler: function () {this.getFbWordCloud()}}}
}
</script>

上面是我使用词云图所在的整个单文件组件,其中词云图使用相关只需要关注以下三点:

1.变量chartExtend在ve-wordcloud标签中对应的插槽位

2.我是全局引入的ve-wordcloud,所以如果你没有全局引入,一定要在组件中import下:

// import wordcloud from 'vue-wordcloud'

3.变量chartSettings是官网上给出的标准设置插槽位对应的变量值

转载于:https://www.cnblogs.com/LanTianYou/p/10152893.html

V-Charts中使用extend属性定制词云图相关推荐

  1. Java+Python+Paddle提取长文本文章中词频,用于Echart词云图数据

    公司有个需求,就是需要提供给echart词云图的数据,放在以前我们的数据来源都是从产品那直接要,产品也是跑的别的接口,那怎么行呢,当然有自己的一套可以随便搞了,那么操作来了 Java package ...

  2. 使用Python定制词云

    一.实验介绍 1.1 实验内容 在互联网时代,人们获取信息的途径多种多样,大量的信息涌入到人们的视线中.如何从浩如烟海的信息中提炼出关键信息,滤除垃圾信息,一直是现代人关注的问题.在这个信息爆炸的时代 ...

  3. 30.32.33.词云图、3D绘图、矩阵可视化、绘制混淆矩阵

    30.词云图(Word cloud) 30.1.Example 1: Basic word cloud 31.3D绘图 31.1.在3D图上绘制2D数据 31.2.3D 散点图 (scatterplo ...

  4. 词云图制作(wordcloud pyecharts)

    现在,网上很多可视化的方法,有一种就是词云图. 词云图,也叫文字云,是对文本中出现频率较高的"关键词"予以视觉化的展现,词云图过滤掉大量的低频低质的文本信息,方便领略文本的主旨. ...

  5. python image stiching_Python自然语言处理,词云图生成

    自然语言处理 本节介绍如何使用Python中的库,生成词云图,涉及自然语言处理的相关问题,自然语言处理是计算机科学领域与人工智能领域中的一个重要方向.它研究能实现人与计算机之间用自然语言进行有效通信的 ...

  6. python 制作高斯mask_【趣味案例】用Python制作各种酷炫词云图,原来这么简单!...

    一.简介词云图是文本挖掘中用来表征词频的数据可视化图像,通过它可以很直观地展现文本数据中地高频词:! 图1 词云图示例 在Python中有很多可视化框架可以用来制作词云图,如pyecharts,但这些 ...

  7. python中词云图怎样变成特殊图案_如何利用python画出一个多变的词云图?(1)...

    问题描述: 如何利用python画出一个多变的词云图? 解决方法:import numpy as np import matplotlib import matplotlib.pyplot as pl ...

  8. 用Python制作酷炫词云图,原来这么简单!

    一.简介 词云图是文本挖掘中用来表征词频的数据可视化图像,通过它可以很直观地展现文本数据中地高频词: ! 图1 词云图示例 在Python中有很多可视化框架可以用来制作词云图,如pyecharts,但 ...

  9. 如何绘制高大上的词云图?

    作者 | 苏克 责编 | 郭芮 当我们手中有一篇文档,比如书籍.小说.电影剧本,若想快速了解其主要内容是什么,则可以采用绘制 WordCloud 词云图,显示主要的关键词(高频词)这种方式,非常方便. ...

最新文章

  1. Windows Azure Storage (25) Azure Append Blob
  2. python怎么导入时间-Python的import导入与时间
  3. pymysql安装_openstack stein安装placement
  4. jQuery中Map的使用
  5. 图形化代码阅读工具——Scitools Understand
  6. boost::fibers::fiber用法的测试程序
  7. E820-DTU模拟量无线数传电台:物联网工业现场无线数传应用
  8. 计算机控制系统视频关守平,国家级精品课《计算机控制系统》课程建设研讨会顺利召开...
  9. std::string::assign 崩溃的问题
  10. steam夏日促销悄然开始,用Python爬取排行榜上的游戏打折信息
  11. JDK1.8的新特性详解
  12. js 支持的原始数据类型
  13. Linux 的简单钩子
  14. 软件测试中测试用例的简单案例
  15. 草蟒python汉化版_草蟒首页、文档和下载 - Python 汉化版 - OSCHINA - 中文开源技术交流社区...
  16. 服装erp系统的设计方案
  17. SNS背后的科:从六度分隔到无尺度网络,互联网营销
  18. 使用Kotlin+JetPack 从零开发自己的日记App
  19. 【转】正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度
  20. Controllable Generation from Pre-trained Language Models via Inverse Prompting翻译

热门文章

  1. java如何对一个表达式开根号_作为一个零基础的新手,如何系统的自学Java和JavaEE开发技术?...
  2. android eclipse 按钮事件,android eclipse按钮的OnClick事件 - java
  3. 运放全波整流电路_10种精密全波整流电路
  4. strrchr php,php strstr() strrchr() strpos() strrpos()函数_PHP教程
  5. java导出oracle到excel_java实现将oracle表中的数据导出到excel表里
  6. 【若依(ruoyi)】表格实现tooltip
  7. 知名的php cms,20款最为知名的开源PHP CMS
  8. mysql int做主键_mysql5.5 uuid做主键与int做主键的性能实测
  9. 汇编 div_Solidity汇编开发简明教程
  10. mysql extract month_MySQL日期时间 Extract(选取)函数