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)

如果给定了一个随机对象,则用它来生成随机数。