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可以使用的顏色字符串。