返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue中使用词云图的实现示例
  • 829
分享到

vue中使用词云图的实现示例

2024-04-02 19:04:59 829人浏览 独家记忆
摘要

在Vue中, 查找到有两种方法来实现词云图, 分别是echarts 和 highcharts Echarts: 注意,Wordcloud对应的echarts版本有要求:echarts

Vue中, 查找到有两种方法来实现词云图, 分别是echarts 和 highcharts

Echarts:

注意,Wordcloud对应的echarts版本有要求:echarts-wordcloud@2 is for echarts@5 echarts-wordcloud@1 is for echarts@4

需要下载echartsjs 和 wordcloud, 全局注册引用echarts

	npm install echarts@5
	npm install echarts-wordcloud@2
<div class="cloud-wrap">
    <div ref="cloudEl" class="cloud-box"></div>
</div>
<style>
.cloud-wrap {
    width: 100%;
    height: 100%;
}
 .cloud-box {
     width: 100%;
     height: 100%;
 }
</style>
<script>
import wordcloud from 'echarts-wordcloud';
export default {
	data() {
		return {
			words:[{
				id:1,
				content:'name'
			}],
			bgImg:'base64格式, 底色为白色', 
		}
	},
	mounted() {
      this.drawCloud(this.$refs.cloudEl, this.words);
  	},
  	methods:{
	  	drawCloud(wrapEl, data) {
	        // let maskImage = new Image(); //可以根据图片形状生成有形状的词云图
	        // maskImage.src= this.bgImg;
	        let list = this.wordCloudData.map((item) => ({
	            name: item.content,
	            value: item.id
	        }))
	        if(list.length == 0){
	            list = [{name:'无',value:50}]
	        }
	        let myChart = echarts.init(wrapEl);
	        let option = 
	        {
	            tooltip: {
	                show: true,
	            },
	            // backgroundColor:'#fff', // 画布背景色
	            series: [
	            {
	                name: "热词",
	                type: "wordCloud",
	                // maskImage: maskImage, // 图片形状
	                keepAspect: false,
	                sizeRange: [10, 40], //画布范围,如果设置太大会出现少词(溢出屏幕)
	                rotationRange: [0, 0], //数据翻转范围
	                // shape: "circle",
	                // drawOutOfBound: true, // 超出画布的词汇是否隐藏
	                drawOutOfBound: false,
	                color:"#fff",
	                left: "center",
	                top: "center",
	                right: null,
	                bottom: null,
	                // width: "100%",
	                height: "100%",
	                gridSize: 8,
	                textPadding: 10,
	                autoSize: {
	                    enable: true,
	                    minSize: 6,
	                },
	                textStyle: {
	                    nORMal: {
	                        fontFamily: 'sans-serif',
	                        fontWeight: 'bold',
	                        color:"#333", // 字体颜色
	                        // color: function () { // 字体颜色
	                        //     return 'rgb(' + [
	                        //         Math.round(Math.random() * 160),
	                        //         Math.round(Math.random() * 160),
	                        //         Math.round(Math.random() * 160)
	                        //     ].join(',') + ')';
	                        // },
	                    },
	                    emphasis: {
	                        // focus: 'self',
	                        textStyle:{
	                            shadowBlur: 10,
	                            shadowColor: "#333",
	                        }
	                    },
	                },
	                data: list,
	            },
	            ],
	        };
	        // maskImage.onload = function() {
	            myChart.setOption(option, true)
	        // };
	    },
  	}
}
</script>

1

无遮罩层的词云图↑

2

有遮罩层的词云图↑

Highcharts

下载包

npm install highcharts@7.2.1
<div class="cloud-wrap">
    <div id="container" style="width: 100%;height: 100%;"></div>
</div>
<style>
	// 同上
</style>
<script>
import Highcharts from 'highcharts'
export default {
	data() {
		return {
			words:[{
				id:1,
				content:'name'
			}],
		}
	},
	mounted() {
      this.dealData();
  	},
  	methods:{
	    dealData(){
	        let data = this.words.map((item,index) => ({
	            name: item.content,
	            value: item.id,
	            //weight: Math.floor(Math.random()*3+1)
	            //控制加粗,随机数取1~3, 若需要按照接口返回的顺序, 可不随机
	            weight: item.id*100 
	        }))
	        this.drawPic(data)
	    },
	    drawPic(data){
	        Highcharts.chart('container', {
	            //highcharts loGo
	            credits: { enabled: false },
	            //导出
	            exporting: { enabled: false },
	            //提示关闭
	            tooltip: { enabled: false },
	            //颜色配置
	            colors:[
	                '#ffffff'
	                // ,'#00c0d7','#2594ce','#de4c85',
	                // '#ff7f46','#ffb310','#e25c52'
	            ],
	            //图形配置
	            chart: {
	                // spacingBottom: 15,
	                // spacingTop: 12,
	                spacingLeft: 5,
	                spacingRight: 5,
	                backgroundColor: "rgba(255, 255, 255,0)",
	            },
	
	            series: [{
	                type: "wordcloud",// 类型
	                data: data,
	                rotation: 90,//字体不旋转
	                maxFontSize: 40,//最大字体
	                minFontSize: 14,//最小字体
	                style: {
	                    fontFamily: "sans-serif",
	                    fontWeight: '500'
	                }
	            }],
	        });
	    },
  	}
}
</script>

在这里插入图片描述

echarts 和 highcharts 都可以在vue中实现词云图. 但是如果使用echarts的话, 需要当前的echarts进行升级或降级才能实现字体多颜色, 而highcharts则不需要. 自定义形状highcharts暂时还没探究, 需要的可以自行查找, 以后有机会的话我也会看看.

到此这篇关于vue中使用词云图的文章就介绍到这了,更多相关vue中使用词云图内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: vue中使用词云图的实现示例

本文链接: https://lsjlt.com/news/164063.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • vue中使用词云图的实现示例
    在vue中, 查找到有两种方法来实现词云图, 分别是echarts 和 highcharts Echarts: 注意,wordcloud对应的echarts版本有要求:echarts...
    99+
    2024-04-02
  • vue中使用词云图的实现方法
    这篇文章将为大家详细讲解有关vue中使用词云图的实现方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在vue中, 查找到有两种方法来实现词云图, 分别是echarts 和 highchar...
    99+
    2023-06-29
  • Vue中使用Lodash的实现示例
    安装 cnpm i -S lodash 全局引入 import _ from 'lodash' Vue.prototype._ = _ 使用 在任何地方使用_或者this._即可调用...
    99+
    2024-04-02
  • vue使用echarts词云图的实战记录
    echarts词云图是echarts的一个扩展 https://echarts.apache.org/zh/download-extension.html 1.安装依赖 &nb...
    99+
    2024-04-02
  • vue使用swiper插件实现轮播图的示例
    目录vue - 使用swiper插件实现轮播图 使用watch与$nextTick解决轮播的Bug hello大家好,最近我在做一个仿饿了么的项目,我会将我的项目经验同步到这里,与大...
    99+
    2024-04-02
  • 使用python生成云词图实现画红楼梦词云图
    目录在用Python绘制红楼梦词云图文章中讲到我们使用Python把红楼梦中的核心词汇给绘画出来了,但是,红楼梦这么唯美的书,给我们乌漆麻黑的搞了一张词云,宝宝们肯定接受不了 那怎...
    99+
    2024-04-02
  • vue+echarts5实现中国地图的示例代码
    使用echarts5.0版本实现中国地图,E charts在5.0版本之后,地图不能直接引入了,需要自己去下载。 地图文件下载地址:下载地址(http://datav.aliyun....
    99+
    2024-04-02
  • vue中使用gantt-elastic实现可拖拽甘特图的示例代码
    官方例子效果图: 可以横向以及纵向鼠标拖拽表格滑动。可以手动调整列宽等功能 1、安装gantt-elastic npm install --save gantt-elastic 2...
    99+
    2024-04-02
  • 使用vue实现玉兔迎春图高亮示例详解
    目录正文一、明确需求二、进行分析2.1 思路2.2 ocr2.3 应用三、使用后记正文 兔年来临,老板意气风发的说:我们的系统登录页要换做玉兔迎春的背景页,而且用户ctrl+f搜索【...
    99+
    2023-01-11
    vue玉兔迎春图高亮 vue图高亮
  • vue使用Google Recaptcha验证的实现示例
    我们最近的项目中需要使用谷歌机器人验证,这个最主要的就是要有vpn,还需要有公司申请的google账号(自己申请的没用)用于商用的,利用这个账号去申请秘钥,然后有了秘钥之后就可以了。...
    99+
    2024-04-02
  • vue项目中使用rem替换px的实现示例
    目录工具安装插件在项目根目录下添加.postcssrc.js文件index.html关于移动端页面适配,rem和vw适配方案 基础点:rem相对根节点字体的大小。所以不用px; 根字...
    99+
    2024-04-02
  • Vue+Element+Springboot图片上传的实现示例
    最近没事刚好联系下vue+springboot前段后分离的项目、用上了图片上传功能、记录一下。 前端待提交的表单部分代码 <el-form-item label="封面图片...
    99+
    2024-04-02
  • vue+antv实现雷达图的示例代码
    一、下载依赖 npm install @antv/data-set npm install @antv/g2 二、代码实现 <template> <di...
    99+
    2024-04-02
  • C++中位图的实现示例
    这篇文章主要介绍C++中位图的实现示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!概念位图就是bitmap的缩写,所谓bitmap,就是用每一位来存放某种状态,适用于大规模数据,该数据都是不重复的简单数据。通常是用...
    99+
    2023-06-15
  • Python 敏感词过滤的实现示例
    目录 一个简单的实现使用BSF(宽度优先搜索)进行实现 使用DFA(Deterministic Finite Automaton)进行实现  一个简单的实现 主要...
    99+
    2024-04-02
  • vue的使用示例
    这篇文章给大家分享的是有关vue的使用示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。vue是什么Vue是一套用于构建用户界面的渐进式JavaScript框架,Vue与其它大型框架的区别是,使用Vue可以自底向...
    99+
    2023-06-14
  • 怎么使用Python轻松实现绘制词云图
    这篇文章主要介绍了怎么使用Python轻松实现绘制词云图的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Python轻松实现绘制词云图文章都会有所收获,下面我们一起来看看吧。一、一般词云绘制制作词云图首先...
    99+
    2023-07-02
  • python实现简单中文词频统计示例
    本文介绍了python实现简单中文词频统计示例,分享给大家,具体如下: 任务 简单统计一个小说中哪些个汉字出现的频率最高 知识点 1.文件操作 2.字典 3.排序 4.lambda 代码 import...
    99+
    2022-06-04
    词频 示例 中文
  • Vue3中使用vuex4的实现示例
    目录1、引入依赖:2、新建文件夹 store ,在里面新建文件 index.js3、index.js文件内容:4、在 main.js 中引入5、使用6、修改 count 的值1、引入...
    99+
    2024-04-02
  • Java使用DFA算法实现敏感词过滤的示例代码
    目录1 前言2 代码实现2.1 敏感词库初始化2.2 编写测试类1 前言 敏感词过滤就是你在项目中输入某些字(比如输入xxoo相关的文字时)时要能检测出来,很多项目中都会有一个敏感词...
    99+
    2023-03-24
    Java DFA敏感词过滤 Java 敏感词过滤
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作