直接上代码!!! import jieba.analyse from PIL import Image import numpy as np import matplotlib.pyplot as plt from wordcloud import WordCloud, ImageColorGenerator lyric = '' f = open('./1.txt', 'r',encoding='utf-8') for i in f: ———————————————— 版权声明:本文为CSDN博主「bug生成中」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_34904125/article/details/118730971 在Python编程中,生成词云是一种可视化技术,用于展示文本数据中的关键词频率。在这个示例中,我们将讨论如何使用Python的几个库,包括`jieba`、`PIL`、`numpy`、`matplotlib`以及`wordcloud`,来创建自定义的词云。 我们导入所需的库: 1. `jieba.analyse`:这是jieba分词库的一个模块,用于进行文本分析,如关键词提取。 2. `PIL.Image`:Python图像处理库Pillow的一部分,用于处理图像。 3. `numpy`:提供高性能的数学计算和数组操作。 4. `matplotlib.pyplot`:用于生成静态、动态、交互式可视化的绘图库。 5. `wordcloud`:用于生成词云的库,可以根据文本数据创建图像。 接着,我们读取一个名为`1.txt`的文件,该文件包含我们要分析的文本。`jieba.analyse.textrank`函数被用来提取文本中的关键词。`textrank`是基于TF-IDF算法的一种关键词抽取方法,它可以返回关键词列表,按重要性从高到低排序。`topK`参数用于指定返回的关键词数量,`withWeight`参数表示是否同时返回每个关键词的权重。 生成的关键词存储在`keywords`字典中,键是关键词,值是其对应的权重。接下来,我们加载一张背景图片`love.jpg`,将其转换为numpy数组,以便于`wordcloud`库使用。 `wordcloud.WordCloud`类用于创建词云对象。它的参数包括: 1. `font_path`:指定字体文件路径,用于显示中文字符,这里使用的是`simhei.ttf`。 2. `background_color`:设置背景颜色,这里是白色。 3. `max_words`:限制词云中最多显示的词数,这里是50。 4. `mask`:设置词云的形状,这里使用了爱心图片作为遮罩。 `generate_from_frequencies`方法根据`keywords`字典中的频率生成词云。为了给词云添加背景颜色,我们使用了`ImageColorGenerator`,它根据遮罩图像的颜色生成词云的颜色分布。 使用`matplotlib`显示词云并保存为`result.jpg`。`plt.axis("off")`关闭坐标轴显示,使词云更美观。 这段代码展示了如何结合使用多种Python库,实现从文本数据中提取关键词,并生成具有自定义背景的词云图。这个过程对于数据可视化、文本分析或社交媒体分析等场景非常有用,可以快速直观地理解大量文本数据的关键信息。
- 粉丝: 3226
- 资源: 201
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- LABVIEW程序实例-删除数组成员.zip
- LABVIEW程序实例-删除数组成员.zip
- LABVIEW程序实例-事件结构.zip
- LABVIEW程序实例-事件结构.zip
- LABVIEW程序实例-数字波形端口设置.zip
- LABVIEW程序实例-数字波形端口设置.zip
- LABVIEW程序实例-数字波形.zip
- LABVIEW程序实例-数字波形.zip
- LABVIEW程序实例-数组大小.zip
- LABVIEW程序实例-数组大小.zip
- LABVIEW程序实例-提取子数组.zip
- LABVIEW程序实例-替换数组成员.zip
- LABVIEW程序实例-提取子数组.zip
- LABVIEW程序实例-通过全局变量发送数据.zip
- LABVIEW程序实例-通过全局变量发送数据.zip
- LABVIEW程序实例-随机数曲线图.vi.zip