Python模块wordcloud参考文档的中文翻译
官网链接:wordcloud api reference
Github链接:wordcloud
所有函数均封装在WordCloud类里:
- WordCloud([…]) 生成并绘制WordCloud对象
- ImageColorGenerator(image) 词云颜色生成器(基于图片颜色)
- random_color_func([]) 词云颜色随机生成
wordcloud.WordCloud
class wordcloud.WordCloud(font_path=None, width=400, height=200, margin=2, ranks_only=None, prefer_horizontal=0.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=0.5, regexp=None, collocations=True, colormap=None, normalize_plurals=True)
参数:
font_path : string
需要使用的字体路径(支持OTF和TTF)。Linux系统上默认指向DroidSansMono路径。若使用其他操作系统或者没有DroidSansMono字体,需要指定字体路径。
width : int (default=400)
画布的宽度。
height : int (default=200)
画布的高度。
prefer_horizontal : float (default=0.90)
尝试水平摆放字体和垂直摆放字体的比例,若prefer_horizontal < 1,当摆放不合适的时候,算法将尝试旋转单词。目前没有内置的方法来获取垂直单词
mask : nd-array or None (default=None)
如果不是None,则在哪里绘制单词时给出二进制掩码。 如果mask不是None,那么宽度和高度将被忽略,并且将使用mask的形状。 所有白色(#FF或#FFFFFF)条目将被视为“被遮盖”,而其他条目将被自由绘制。 [这在最新版本中发生了变化!]
scale : float (default=1)
计算值和绘图之间的缩放比例。 对于大型文字云图像,使用缩放而不是较大的画布尺寸要快得多,但可能导致较粗糙的文字。
min_font_size : int (default=4)
使用最小的字体大小。 当没有更多的空间时停止绘制。
font_step : int (default=1)
字体的步长。 font_step > 1时可能会加快计算速度,但会导致糟糕的字体适应性布局。
max_words : number (default=200)
单词的最大数目。
stopwords : set of strings or None
敏感词集合,这些词将被忽略。 如果没有,则将使用内置的STOPWORDS列表。
background_color : color value (default=”black”)
词云图像的背景颜色。
max_font_size : int or None (default=None)
使用的最大字体大小。 默认使用图像的高度。
mode : string (default=”RGB”)
当模式为“RGBA”且background_color为None时,会生成透明背景。
relative_scaling : float (default=.5)
字体大小的相对单词频率的重要性。 relative_scaling = 0时,只考虑单词等级。 使用relative_scaling = 1时,频繁两倍的单词将具有两倍的大小。 如果你想考虑单词的频率,而不仅仅是他们的等级,那么0.5左右的relative_scaling通常看起来不错。
color_func : callable, default=None
可用参数关键字font_size, position, orientation, font_path, random_state调用,它为每个单词返回一个PIL颜色。 覆盖"colormap"。 请参阅colormap来指定matplotlib的颜色映射。
regexp : string or None (optional)
正则表达式将输入文本拆分为待处理文本中的标记。 如果指定None,则使用r“\ w [\ w’] +”。
collocations : bool, default=True
是否包含两个词的搭配(bigrams),默认为True。
colormap : string or matplotlib colormap, default=”viridis”
Matplotlib色彩映射表为每个单词随机绘制颜色。 如果指定了“color_func”,则忽略。
normalize_plurals : bool, default=True
是否从文字中删除“尾随”。 如果为真,当出现以’s’结尾的单词,则以’s’结尾的单词将被删除,并将其计数添加到没有’s’结尾的版本
以’ss’结尾的单词被忽略。
注意:
较大的画布使代码明显变慢。 如果您需要较大的单词云,请尝试较小的画布大小,然后设置缩放参数。
根据最大字体大小和缩放启发式算法,相比单词实际出现的频率,算法可能会给单词的等级更多的权重。
属性:
words_
(dict of string to float) 单词标识对应其出现次数,如{‘hello’:90, ‘good’:30}
.. versionchanged: 2.0 words_: 现在是一个字典
layout_
(list of tuples (string, int, (int, int), int, color)))
编码拟合词云,为每个单词编码字符串,字体大小,位置,方向和颜色。
方法:
# 初始化实例
__init__(font_path=None, width=400, height=200, margin=2, ranks_only=None, prefer_horizontal=0.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=0.5, regexp=None, collocations=True, colormap=None, normalize_plurals=True)
fit_words(frequencies)
根据单词和频率创建一个word_cloud。
别名为generate_from_frequencies。
参数:
frequencies : array of tuples
元组包含单词及其频率。Note:最新版已经改为字典了。
返回值:
self
generate(text)
从文本生成wordcloud。
别名generate_from_text。
实际调用process_text和generate_from_frequencies。
返回值:
self
generate_from_frequencies(frequencies, max_font_size=None)
根据单词和频率创建词云。
参数:
frequencies : dict from string to float
字典包含单词及其频率。
max_font_size : int
使用此最大字体大,而不是self.max_font_size
返回值:
self
generate_from_text(text)
从文本生成wordcloud。
实际调用process_text和generate_from_frequencies。
..versionchanged:: 1.2.2
process_text()的返回值不再是generate_from_frequencies()的参数。
返回值:
self
process_text(text)
将长文本拆分为单词,去除停用词(敏感词)。
参数:text : string
待处理的文本
返回值:
words : dict (string, int)
带有关联频率的词语标记。
..versionchanged:: 1.2.2
将返回类型从元组列表更改为字典。
Notes
有更好的方法做词频分析,在此不做赘述。
recolor(random_state=None, color_func=None, colormap=None)
重新着色现有布局。
应用新的着色要比生成整个词云快得多。
参数:
random_state : RandomState, int, or None, default=None
如果不是None,则使用固定的随机状态。 如果给出了一个int,它将用作random.Random状态的种子。
color_func : function or None, default=None
根据(word count, font size, position and orientation)字数,字体大小,位置和方向生成新颜色的函数。 如果为None,则使用self.color_func。
colormap : string or matplotlib colormap, default=None
使用此颜色映射表来生成新的颜色。 如果指定了color_func,则忽略。 如果没有,则使用self.color_func(或self.color_map)。
返回值:
self
to_array()
转换为numpy数组。
返回值:
image : n维数组 (width, height, 3)
词云图像作为numpy矩阵。
to_file(filename)
导出为图像文件。
参数:
filename : string
要写入的位置。
返回值:
self
wordcloud.ImageColorGenerator
class wordcloud.ImageColorGenerator(image)
基于彩色图像的颜色生成器.
根据RGB图像生成颜色。 一个单词将使用彩色图像中包围矩形的平均颜色进行着色。 构造完成后,该对象充当可调用对象,可以将其作为color_func传递给WordCloud类的构造函数或recolor这个重新着色方法。
参数:
image : n维矩阵, shape (height, width, 3)
用于生成文字颜色的图像。 Alpha通道被忽略。对于wordcloud实例,这应该和画布大小相同。
方法
__call__(word, font_size, font_path, ...)
使用特定图像为给定单词生成颜色。
__init__(image)
wordcloud.random_color_func
wordcloud.random_color_func(word=None, font_size=None, position=None, orientation=None, font_path=None, random_state=None)
随机色调颜色生成.
默认着色方法。 这只是随机选择一个值为80%和光照50%的色调。
参数:
word, font_size, position, orientation: ignored.
random_state : random.Random object or None, (default=None)
如果给定了一个随机对象,则用它来生成随机数。