Wordcloud是一种数据可视化技术,用于展示文本数据中词语的频率。它通过将文本中的词语按照出现的频率和重要性进行排列,并将其以不同大小、颜色和字体呈现在一个图像中,以便更直观地显示出现频率较高的词语。
1.词云图的制作步骤:
(大家可以用这个做一个参考,去做词云图)
-
收集文本数据:首先需要收集一段文本数据,可以是文章、评论、新闻等等。这些文本数据将作为制作词云的基础。
-
文本预处理:对收集到的文本进行预处理。这包括去除停用词(如“的”、“是”、“在”等常见无意义词语)、去除标点符号、转换为小写字母等。
-
分词处理:将文本拆分成单个的词语或短语。这可以通过分词库(如jieba)来实现。
-
统计词频:统计每个词语在文本中出现的频率。可以使用Python中的字典或计数器来实现。
-
选择关键词:根据需求或目的,筛选出重要的关键词。可以根据词频、TF-IDF值等指标来选择。
-
可视化词云:利用词云生成库(如wordcloud)将筛选后的关键词生成词云图。可以设置词云图的形状、颜色、字体等参数。
-
结果展示:将生成的词云图保存为图片或直接显示在界面上,用于展示和分享。
2.常用的词云模块有以下几个:
-
Wordcloud:这是一个基于Python的词云生成库,可以根据文本数据生成词云图。它支持自定义字体、颜色、形状等参数。
-
jieba:这是一个中文分词库,用于将中文文本切分成词语。
-
matplotlib:这是一个用于绘制图表的库,在词云模块中常用于显示和保存词云图。
-
numpy:这是一个用于科学计算的库,词云模块中常用于处理文本数据。
-
PIL/Pillow:这是一个Python的图像处理库,在词云模块中常用于生成和处理图片。
3.WordCloud模块中参数的用法:
参数 | 使用说明 |
---|---|
width | 词云对象生成图片的宽度,默认400像素>>>w=wordcloud.WordCloud(width=600) |
height | 词云对象生成图片的高度,默认200像素>>>w=wordcloud.WordCloud(height=400) |
min_font_size | 词云中字体的最小字号,默认4号>>>w=wordcloud.WordCloud(min_font_size=10) |
max_font_size | 词云中字体的最大字号,根据高度自动调节>>>w=wordcloud.WordCloud(max_font_size=20) |
font_step | 词云中字体字号的步进间隔,默认为1>>>w=wordcloud.WordCloud(font_step=2) |
font_path | 字体文件的路径,默认None>>>w=wordcloud.WordCloud(font_path="msyh.ttc") |
max_words | 词云显示的最大单词数量,默认200>>>w=wordcloud.WordCloud(max_words=20) |
stop_words | 词云的排除词列表,即不显示的单词列表>>>w=wordcloud.WordCloud(stop_words={"Python"}) |
mask | 自定义词云图形状,默认为长方形,需要引用imread()函数>>>from scipy.misc import imread>>>mk=imread("pic.png")>>>w=wordcloud.WordCloud(mask=mk) |
background_color | 词云图片的背景颜色,默认为黑色>>>w=wordcloud.WordCloud(background_color="white") |
scale | 词云图放大的比例,通常设置为“自动”(auto)或根据实际需求手动设置。 |
轮廓宽度和颜色 | contour_width, contour_color是词云轮廓的宽度和颜色。 |
repeat | 用于控制词组重复的次数。当repeat的值为True时,词组会重复出现,直到达到最大词数或最小字号的要求。而当repeat的值为一个整数时,词组会重复该整数所指定的次数。 |
recolor | 对生成的词云进行重新上色,可以指定颜色模式和颜色函数。 |
to_file | 将生成的词云保存为图片.png文件 |
to_image | 转换为PIL图像对象,显示词云图 image = wordcloud.to_image() image.show() |
to_array | 将生成的词云以数组形式保存。 |
process_text | 对输入的文本进行词频统计,生成一个词频字典。 |
这些参数可以根据实际需求进行组合和调整,以生成符合要求的词云图。请注意,以上参数的详细用法和取值范围可能会因WordCloud版本的不同而有所变化,建议参考官方文档或示例代码获取最新信息。
更多Python学习资料请戳👇