wordcloud
基于python的词云生成库。
wordcloud文档
相关API
- wordcloud.WordCloud(
font_path=None,
width=400,
height=200,
margin=2,
ranks_only=None,
preferred_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='auto',
regexp=None,
collocations=True,
colormap=None,
normalize_plurals=True,
contour_width=0,
contour_color='black',
repeat=False,
include_numbers=False,
min_word_length=0,
collocation_threshold=30
)
词云对象用于生成和绘制。
参数:
font_path: str类型
要使用的字体的字体路径。
width: int类型(默认为400)
画布的宽度。
height: int类型(默认为200)
画布的高度。
margin: int类型(默认为2)
词云外边距(画布的内边距)
ranks_only: bool类型(默认为None)
仅排名
prefer_horizontal: float类型(默认为0.9)
水平分布的词和垂直分布的词的比例。如果preferred_horizontal <1,则算法将尝试旋转不合适的单词,如果>1,则全部为水平分布。
mask: nd-array or None类型(默认为None)
如果不是None,则在绘制文字的位置给出二进制掩码,忽略宽度和高度,并改用mask的形状。所有白色(#FFF或#FFFFFF)条目都将被视为“蒙版”,而其他条目则可以随意使用。
scale: float类型(默认为1)
按比例缩放。对于较大的词云图像,使用比例尺代替较大的画布尺寸会明显更快,但可能会导致单词的拟合度较差。
color_func: callable (默认为None)
带有参数word,font_size,position,orientation,font_path,random_state的可调用对象,并为每个单词返回PIL颜色。覆盖“colormap”。请参见colormap以指定matplotlib colormap。要使用单一颜色创建词云,请使用color_func=lambda *args, **kwargs: "white"
。也可以使用RGB代码指定单色。例如color_func=lambda *args, **kwargs: (255,0,0)
,将颜色设置为红色。
max_words: number(默认为200)
最大字数。
min_font_size: int类型(默认为4)
使用的最小字体大小。如果没有足够的空间,此空间将停止。
stopwords: set of strings or None
这些词将被淘汰。如果为None,则将使用内置的STOPWORDS列表。如果使用generate_from_frequencies,则将其忽略。
random_state: int or None
随机种子。
background_color: color value(默认为black)
词云图像的背景颜色。
max_font_size: int or None(默认为None)
最大字的最大字体大小。如果为None,则使用图像的高度。
font_step: int类型(默认值为1)
字体的步长。font_step> 1可能会加快计算速度,但拟合效果较差。
mode: str类型(默认为“RGB”)
当模式为“ RGBA”且background_color为“None”时,将生成透明背景。
relative_scaling: float类型(默认为“auto”)
相对词频对字体大小的重要性。当relative_scaling = 0时,仅考虑单词排名。当relative_scaling = 1时,频繁出现的单词的大小将是两倍。如果你想考虑单词的频率而不仅仅是它们的排名,那么0.5左右的relative_scaling通常看起来不错。如果为“auto”,除非repeat为true,否则它将设置为0.5,repeat为true时,它将设置为0。
regexp: string or None
使用正则表达式将输入文本拆分为process_text中的标记。如果未指定,则使用r"\w[\w']+"
。如果使用generate_from_frequencies,则将其忽略。
collocations: bool类型(默认为True)
是否包括两个单词的搭配(字母组合)。如果使用generate_from_frequencies,则将其忽略。
colormap: string or matplotlib colormap(默认为”viridis”)
Matplotlib颜色图可为每个单词随机绘制颜色。忽略是否指定了“ color_func”。
normalize_plurals: bool类型(默认为True)
是否删除单词后面的“s”。如果是True,并且一个单词出现时带有或不带后缀“s”,那么带后缀“s”的单词将被删除,其计数将添加到不带后缀“s”的版本中——除非该单词以“ss”结尾。如果使用generate_from_frequency将被忽略。
contour_width: float类型(默认为0)
如果mask不为None且轮廓宽度> 0,则绘制遮罩轮廓。
contour_color: color value(默认为black)
遮罩轮廓颜色。
repeat: bool类型(默认为False)
是否重复单词和短语直到达到max_words或min_font_size。
include_numbers: bool类型(默认为False)
是否包括数字作为短语。
min_word_length: int类型(默认为0)
一个单词必须包含的最小字母数。
collocation_threshold: int类型(默认为30)
二元图必须具有大于该参数的Dunning似然搭配分数才能被视为二元图。默认值30是任意值。
注意:
较大的画布会使代码明显变慢。如果需要较大的词云,请尝试使用较小的画布大小,然后设置scale参数。
属性:
words_: dict for string to float
具有相关频率的单词标记。
layout_: list of tuples (string, int, (int, int), int, color))
编码拟合的词云。对每个单词的字符串、字体大小、位置、方向和颜色进行编码。
方法:
fit_words(self, frequencies)
从单词和频率创建一个词云图。
frequencies: dict from string to float 包含单词和相关的频率。
generate(self, text)
从文本创建一个词云图。
text: 输入的text应该是自然文本。如果你传递一个排序的单词列表,单词会在你的输出中出现两次。要去掉重复,请设置“collocations=False”
generate_from_frequencies(self, frequencies)
同fit_words。
generate_from_text(self, text)
同generate。
prodess_text(self, text)
将长文本拆分为单词,消除停用词。
recolor(self, random_state=None, color_func=None, colormap=None)
对现有布局重新着色。
应用一种新的颜色比重新生成整个词云要快的多。
random_state: 随机种子。
color_func: function or None
传入一个函数生成新的颜色从字数、字体大小、位置和方向。如果是None, 则调用默认的color_func。
colormap: string or matplotlib colormap。
使用此colormap生成新的颜色。如果指定了color_func, 则忽略它,如果为None, 则使用color_func(or self.color_map)。
to_array(self)
转换为numpy数组。返回值是词云图像的数字矩阵。
to_file(self, filename)
输出图像文件。
- wordcloud.ImageColorGenerator(image,default_color = None)
基于彩色图像的颜色生成器。
基于RGB图像生成颜色。单词将使用彩色图像中外接矩形的平均颜色着色。
在构造之后,该对象充当一个可调用的对象,可以作为color_func传递给word cloud构造函数或recolor方法。
参数:
image: nd-array, shape (height, width, 3)
用于生成文字颜色的图像。Alpha通道将被忽略。该尺寸应与画布相同。
default_color: tuple or None
画布大于图像时使用的后备颜色,格式为(r,g,b)。如果为None,则引发ValueError。
- wordcloud.random_color_func(
word=None,
font_size=None,
position=None,
orientation=None,
font_path=None,
random_state=None
)
随机色调颜色生成。
默认着色方法。这只是选择值为80%和亮度为50%的随机色相。
参数:
random_state: 随机种子
其余参数被忽略。
- wordcloud.get_single_color_func(color)
创建一个颜色函数,该函数返回单个色调和饱和度。不同的值(HSV)。可接受的值是PIL / Pillow可以使用的颜色字符串。