词云(wordcloud)之密集恐惧症慎入

本文介绍了Python中用于创建词云的第三方库wordcloud,包括安装、使用方法、操作流程,以及如何利用mask参数自定义词云形状。通过示例展示了英文和中文文本的词频统计,帮助读者快速掌握词云的制作技巧。

目录

1、安装

2、使用

3、操作流程

4、示例

5、mask参数


        词云,也叫文字云,是对文本中出现频率较高的“关键词”予以视觉化的展现。词云可以快速过滤掉大量的低频低质的文本信息,使得浏览者只要一眼就可领略文本的主旨。所谓一叶知秋是也。

         wordclund 是 python 制作词云的一个第三方库,官方文档 wordcloud。其特点是:

  • 填充所有的可用空间
  • 能够使用任意的mask
  • 修改轻松而实现高效

1、安装

        既然是第三方库,就需要有劳 python包管理器 pip 的大驾了。

python3 -m pip install wordcloud

        注意:wordcloud 似乎对 arm64 系统尚不支持,安装会报错:

error: command '/usr/bin/aarch64-linux-gnu-gcc' failed with exit code 1

 原因可能为缺少依赖软件包。

2、使用

        wordcloud 把词云当作一个 WordCloud 对象,其主要操作函数为 wordcloud.WordCloud(),可以根据文本词语出现的频率输出词云,并通过调整相应参数实现不同的输出效果。

 

        参数及含义: 

(font_path=None, width=400, height=200, margin=2,\
ranks_only=None, prefer_horizontal=.9, mask=None, scale=1,\
color_func=None, max_words=200, min_font_size=4,\
stopwords=None, random_state=None, background_color='black',\
max_font_size=None, font_step=1, mode="RGB",\
relative_scaling='auto', regexp=None, collocations=True,\
colormap=None, normalize_plurals=True, contour_width=0,\
contour_color='black', repeat=False,include_numbers=False,\
min_word_length=0, collocation_threshold=30)
### 关于微信小程序中使用 WordCloud2.js 实现 在微信小程序环境中集成 `WordCloud2.js` 可以为用户提供一种直观的数据可视化方式。由于微信小程序有自己的框架结构,因此需要特别注意如何适配此 JavaScript 库。 #### 准备工作 为了使 `WordCloud2.js` 能够正常运行,在项目初始化阶段需下载并引入该库文件至合适位置。考虑到网络加载速度等因素,建议将所需资源本地化处理[^1]。 #### 创建页面布局 编辑 `.wxml` 文件来构建基础界面元素: ```html <view class="container"> <!-- 定义画布容器 --> <canvas type="2d" id="myCanvas"></canvas> </view> ``` #### 添加样式支持 对于 `.wxss` 部分,则要确保 canvas 的尺寸适应不同设备屏幕大小: ```css /* 设置画布宽度高度 */ #myCanvas { width: 100%; height: 400px; } ``` #### 编写逻辑层代码 最后一步是在对应的 JS 文件里编写业务逻辑,这里会涉及到对 `WordCloud2.js` API 的调用以及数据源准备等工作: ```javascript // 引入 wordcloud.min.js 和 d3.min.js (假设已放置于项目的 utils 目录下) const wc = require('../../utils/wordcloud.min'); const d3 = require('../../utils/d3.min'); Page({ onLoad() { const ctx = wx.createCanvasContext('myCanvas', this); // 数据集示例 let wordsData = [ {text: 'apple', size: 70}, {text: 'banana', size: 50}, {text: 'orange', size: 90}, ... ]; // 绘制图 setTimeout(() => { wc(ctx, { list : wordsData, gridSize: 16, weightFactor: 1, fontFamily: 'Impact', rotateRatio: .0, drawOutOfBound: true, backgroundColor: '#ffffff' }); // 将绘制好的图像渲染到界面上 ctx.draw(); }, 0); } }); ``` 上述方法展示了如何在一个简单的例子中利用 `WordCloud2.js` 来展示关键词频率分布情况。实际应用时可根据需求调整参数配置以获得更佳效果[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

香饽々

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值