python:wordcloud词云

一、基本使用

import jieba
import wordcloud
txt = open("1.txt", "r", encoding='utf-8').read()

words = jieba.lcut(txt)
txt_1 = " ".join(words)
# print(txt1)
w = wordcloud.WordCloud(font_path="msyh.ttc",
                        width=1000, height=700, background_color="white",
                        )
w.generate(txt_1)
w.to_file("ciyun.png")

二、按图片形状生成

import jieba
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator
import numpy as np
from PIL import Image

txt = open("C:/Users/96356/Desktop/1.txt", "r", encoding='utf-8').read()

words = jieba.lcut(txt)
txt_1 = " ".join(words)
photo = np.array(Image.open('C:/Users/96356/Desktop/2.png'))
# from scipy.misc import imread
# china=imread('C:/Users/96356/Desktop/2.png') #scipy.misc方式都可以读取图片

w = WordCloud(font_path="msyh.ttc",
              mask=photo,
              background_color="white",
              )
w.generate(txt_1)
w.to_file("ciyun.png")

三、WordCloud参数详解

from wordcloud import WordCloud

参数作用
font_path字体路径,需要展现什么字体就把该字体路径+后缀名写上,如:font_path = ‘黑体.ttf’
width输出的画布宽度,默认为400像素
height输出的画布高度,默认为200像素
prefer_horizontal词语水平方向排版出现的频率,默认 0.9 (所以词语垂直方向排版出现频率为 0.1 )
mask如果参数为空,则使用二维遮罩绘制词云。如果 mask 非空,设置的宽高值将被忽略,遮罩形状被 mask 取代。除全白(#FFFFFF)的部分将不会绘制,其余部分会用于绘制词云。如:bg_pic = imread(‘读取一张图片.png’),背景图片的画布一定要设置为白色(#FFFFFF),然后显示的形状为不是白色的其他颜色。可以用ps工具将自己要显示的形状复制到一个纯白色的画布上再保存,就ok了。一般为mask=np.array(Image.open(‘xxx.jpg’))。其中from PIL import Image
scale按照比例进行放大画布,如设置为1.5,则长和宽都是原来画布的1.5倍
min_font_size显示的最小的字体大小
font_step字体步长,如果步长大于1,会加快运算但是可能导致结果出现较大的误差
max_words要显示的词的最大个数
stopwords设置需要屏蔽的词,如果为空,则使用内置的STOPWORDS
background_color背景颜色,如background_color=‘white’,背景颜色为白色
max_font_size显示的最大的字体大小
mode当参数为“RGBA”并且background_color不为空时,背景为透明
relative_scaling词频和字体大小的关联性
color_func生成新颜色的函数,如果为空,则使用 self.color_func
regexp使用正则表达式分隔输入的文本
collocations是否包括两个词的搭配
colormap给每个单词随机分配颜色,若指定color_func,则忽略该方法
random_state为每个单词返回一个PIL颜色

其他部分函数

函数作用
fit_words(frequencies)根据词频生成词云
generate(text)根据文本生成词云
generate_from_frequencies(frequencies[, …])根据词频生成词云
generate_from_text(text)根据文本生成词云
process_text(text)将长文本分词并去除屏蔽词(此处指英语,中文分词还是需要自己用别的库先行实现,使用上面的 fit_words(frequencies) )
recolor([random_state, color_func, colormap])对现有输出重新着色。重新上色会比重新生成整个词云快很多
to_array()转化为 numpy array
to_file(filename)输出到文件
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您可以使用 python 的第三方库 "wordcloud" 来生成词云。首先需要安装该库,您可以使用以下命令进行安装: ``` pip install wordcloud ``` 然后,您可以通过以下代码生成词云: ```python from wordcloud import WordCloud import matplotlib.pyplot as plt text = "词云生成的文本" wordcloud = WordCloud().generate(text) plt.imshow(wordcloud, interpolation='bilinear') plt.axis("off") plt.show() ``` 您也可以调整生成词云的其他参数,例如字体,背景颜色等。更多内容请参考官方文档:https://amueller.github.io/word_cloud/ ### 回答2: Python123wordcloud是一个用于生成词云Python库。 通过使用Python123wordcloud,我们可以轻松地根据给定的文本数据生成词云图。词云图是一种可视化工具,用于显示文本中不同词语的频率和重要性。生成词云图可以帮助我们更直观地理解文本中的关键词信息。 使用Python123wordcloud的基本步骤如下: 1. 导入Python123wordcloud库:在Python脚本中使用`import wordcloud`语句导入Python123wordcloud库。 2. 准备文本数据:将需要生成词云图的文本数据准备好,并存储在一个变量中。 3. 创建WordCloud对象:使用`wc = wordcloud.WordCloud()`创建一个WordCloud对象。可以通过设置不同的参数来自定义词云图的样式,如词云图的形状、字体、颜色等。 4. 生成词云图:使用`wc.generate(text)`方法生成词云图,其中`text`是之前准备好的文本数据。 5. 显示词云图:使用`import matplotlib.pyplot as plt`导入matplotlib库,并使用`plt.imshow(wc)`和`plt.axis("off")`来显示词云图,其中`wc`是之前生成的词云对象。最后使用`plt.show()`来展示词云图。 Python123wordcloud还提供了其他的一些功能,如根据颜色、字体大小等参数对词云图进行定制化调整,或者通过设置屏蔽词来排除一些无关的词语。 总而言之,使用Python123wordcloud可以方便地生成词云图,帮助我们更好地理解文本数据的关键词信息。 ### 回答3: Python123WordCloud是一个用Python编程语言编写的词云生成工具。通过该工具,我们可以根据给定的文本数据生成美观、有趣的词云图像。 使用Python123WordCloud生成词云的步骤如下: 1. 导入相关库:首先需要导入必要的库,如wordcloud、matplotlib和numpy。 2. 加载文本数据:将需要生成词云的文本数据加载到程序中。可以是从文件中读取的文本,或者直接将文本赋值给一个字符串变量。 3. 对文本数据进行处理:对文本进行必要的清洗和处理。可以使用正则表达式、nltk等工具进行去除噪音、分词、去除停用词等操作,以便获取更准确的词云结果。 4. 创建词云对象:创建一个WordCloud对象,可以根据需要设置词云的参数,如字体、颜色、背景颜色、尺寸等。 5. 生成词云图像:调用WordCloud对象的generate方法,传入处理好的文本数据,生成词云图像。 6. 显示或保存词云图像:使用matplotlib库将生成的词云图像显示出来,也可以保存为文件。 Python123WordCloud提供了许多参数可以自定义词云图像的样式和风格,如设置最大词汇数、设置词云形状等。通过调整这些参数,我们可以根据实际需求生成满足我们需要的词云图像。 总之,Python123WordCloud是一个方便易用的词云生成工具,可以通过简单的几步操作生成具有艺术感与观赏性的词云图像,可用于数据分析、文本可视化等领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值