赞
踩
词云图(Word Cloud)是一种文本数据的可视化表示形式,它通过字体大小、颜色、布局等视觉元素来展示文本中不同词汇的频率或重要性。词云图中,出现频率高的词汇会被赋予较大的字体,从而突出显示;而频率较低的词汇则使用较小的字体。这种可视化方式有助于快速识别文本中的关键信息,发现文本的主题或热点。
wordcloud 是一个用于生成词云图的 Python 库。它基于 PIL(Python Imaging Library)和 NumPy 库,提供了丰富的功能和灵活的参数设置,使得用户可以轻松地生成各种风格的词云图。
词云图中的停用词(Stopwords)指的是在文本处理中经常出现,但通常没有实际分析价值的词汇。这些词汇通常包括虚词、助词、介词、连词等,例如“的”、“是”、“在”、“和”等中文词汇,以及“the”、“a”、“an”、“and”等英文词汇。这些词汇在文本中的频率很高,但对于理解文本的主题或情感往往没有太大的帮助。
with open("常用停用词.txt", 'r', encoding='utf-8') as f:
stop_words = set(f.read().splitlines())
# 创建词云对象,设置词云的一些属性
wordcloud = WordCloud(font_path=font_path, # 设置字体文件路径,确保支持中文
stopwords=stop_words,
background_color="white", # 设置背景颜色
max_words=200, # 最多显示的词数
max_font_size=100, # 字体最大值
random_state=42, # 设置随机种子以获得可重复的结果
width=800, height=800, # 设置图片的尺寸
margin=2 # 设置词与词之间的距离
).generate(words)
导入前:
导入后:
# 导入必要的库 from wordcloud import WordCloud import matplotlib.pyplot as plt import jieba import numpy as np from PIL import Image # 假设你的文本文件名为 'text.txt',并且位于当前工作目录下 file_name = '三国演义.txt' # 读取文件内容 with open(file_name, 'r', encoding='utf-8') as file: text = file.read() # 使用jieba进行中文分词 seg_list = jieba.cut(text, cut_all=False) words = " ".join(seg_list) # 设置字体文件路径(确保支持中文) font_path = 'simhei.ttf' # 你需要指定一个支持中文的字体文件路径 with open("常用停用词.txt", 'r', encoding='utf-8') as f: stop_words = set(f.read().splitlines()) # 创建词云对象,设置词云的一些属性 wordcloud = WordCloud(font_path=font_path, # 设置字体文件路径,确保支持中文 stopwords=stop_words, background_color="white", # 设置背景颜色 max_words=200, # 最多显示的词数 max_font_size=100, # 字体最大值 random_state=42, # 设置随机种子以获得可重复的结果 width=800, height=800, # 设置图片的尺寸 margin=2 # 设置词与词之间的距离 ).generate(words) # 使用matplotlib显示词云图 plt.figure(figsize=(8, 8), facecolor=None) # 创建一个8x8的绘图对象 plt.imshow(wordcloud) plt.axis("off") # 不显示坐标轴 plt.tight_layout(pad=0) # 调整子图参数,使之填充整个图像区域 plt.show() # 显示图像
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。