词云图wordcloud
1.安装第三方库
j
i
e
b
a
库、
m
a
t
p
l
o
t
l
i
b
、
w
o
r
d
c
l
o
u
d
库
jieba库、matplotlib、wordcloud库
jieba库、matplotlib、wordcloud库
2.过程
1.使用
j
i
e
b
a
jieba
jieba 库对数据进行分词整理,转为
t
x
t
txt
txt文件,转变为以空格分隔的词语字符串
s
t
r
i
n
g
string
string。
2.调用
w
o
r
d
c
o
l
u
d
wordcolud
wordcolud等函数绘制。
3.wordcloud的常用方法函数参数
参数:
1.
f
o
n
t
_
p
a
t
h
:
s
t
r
i
n
g
font\_path : string
font_path:string : 字体路径,格式:字体路径+后缀名,
如
C
:
\
w
i
n
d
o
w
s
\
F
o
n
t
\
w
h
i
t
e
.
t
t
f
C:\backslash windows\backslash Font \backslash white.ttf
C:\windows\Font\white.ttf
2.
w
i
d
t
h
:
i
n
t
(
d
e
f
a
u
l
t
=
400
)
width : int(default=400)
width:int(default=400) : 输出的画布宽度
3.
h
e
i
g
h
t
:
i
n
t
(
d
e
f
a
u
l
t
=
200
)
height : int (default =200)
height:int(default=200) : 输出的画布高度
4.
p
r
e
f
e
r
_
h
o
r
i
z
o
n
t
a
l
:
f
l
o
a
t
(
d
e
f
a
u
l
t
=
0.90
)
prefer\_horizontal : float(default=0.90)
prefer_horizontal:float(default=0.90) : 词语水平方向排版出现的频率,垂直方向做差。
5.
s
c
a
l
e
:
f
l
o
a
t
(
d
e
f
a
u
l
t
=
1
)
scale : float(default=1)
scale:float(default=1) : 按照比例放大画布,如设置
s
c
a
l
e
=
2
scale=2
scale=2,则长宽都是原来的
2
2
2倍。
6.
m
i
n
_
f
o
n
t
_
s
i
z
e
:
i
n
t
(
d
e
f
a
u
l
t
=
4
)
min\_font\_size : int(default=4)
min_font_size:int(default=4) : 显示的最小字体的大小。
7.
m
a
x
_
w
o
r
d
s
:
i
n
t
(
d
e
f
a
u
l
t
=
200
)
max\_words : int(default=200)
max_words:int(default=200) : 显示的词的最大个数。
8.
b
a
c
k
g
r
o
u
n
d
_
c
o
l
o
r
:
(
d
e
f
a
u
l
t
=
′
b
l
a
c
k
′
)
background\_color : (default='black')
background_color:(default=′black′) :背景颜色。
9.
m
a
x
_
f
o
n
t
_
s
i
z
e
:
i
n
t
(
d
e
f
a
u
l
t
=
N
o
n
e
)
max\_font\_size : int(default=None)
max_font_size:int(default=None) : 显示的最大字体的大小。
10.
m
a
s
k
:
n
p
.
a
r
r
a
y
、
N
o
n
e
mask : np.array 、None
mask:np.array、None :参数为空,默认词云形状为长方形。
函数:
1.
g
e
n
e
r
a
t
e
_
f
r
o
m
_
t
e
x
t
(
t
e
x
t
)
generate\_from\_text(text)
generate_from_text(text):根据文本生成词云。
2.
g
e
n
e
r
a
t
e
(
t
e
x
t
)
generate(text)
generate(text) : 根据文本生成词云。
3.
g
e
n
e
r
a
t
e
_
f
r
o
m
_
f
r
e
q
u
e
n
c
i
e
s
(
f
r
e
q
u
e
n
c
i
e
s
[
,
.
.
.
]
)
generate\_from\_frequencies(frequencies[, ...])
generate_from_frequencies(frequencies[,...]) : 根据词频生成词云。
4.
t
o
_
f
i
l
e
(
f
i
l
e
n
a
m
e
)
to\_file(filename)
to_file(filename) : 输出到文件。
def generate(self, text):
"""Generate wordcloud from text.
The input "text" is expected to be a natural text. If you pass a sorted
list of words, words will appear in your output twice. To remove this
duplication, set ``collocations=False``.
Alias to generate_from_text.
Calls process_text and generate_from_frequencies.
Returns
-------
self
"""
return self.generate_from_text(text)
def generate_from_text(self, text):
"""Generate wordcloud from text.
The input "text" is expected to be a natural text. If you pass a sorted
list of words, words will appear in your output twice. To remove this
duplication, set ``collocations=False``.
Calls process_text and generate_from_frequencies.
..versionchanged:: 1.2.2
Argument of generate_from_frequencies() is not return of
process_text() any more.
Returns
-------
self
"""
words = self.process_text(text)
self.generate_from_frequencies(words)
return self
调用过程:
g
e
n
e
r
a
t
e
(
s
e
l
f
,
t
e
x
t
)
⇒
s
e
l
f
.
g
e
n
e
r
a
t
e
_
f
r
o
m
_
t
e
x
t
(
t
e
x
t
)
⇒
w
o
r
d
=
s
e
l
f
.
p
r
o
c
e
s
s
_
t
e
x
t
s
e
l
f
.
g
e
n
e
r
a
t
e
_
f
r
o
m
_
t
e
x
t
(
w
o
r
d
)
generate(self, text) \Rightarrow self.generate\_from\_text(text) \Rightarrow \\word=self.process\_text \\ self.generate\_from\_text(word)
generate(self,text)⇒self.generate_from_text(text)⇒word=self.process_textself.generate_from_text(word)
实例