思维导图:
效果(语句版):
源码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# -*- coding: utf-8 -*-
"""
created on tue mar 5 17:59:29 2019
@author: dell
"""
# =============================================================================
# 步骤:
# 分割aaa = jieba.cut(str,cut_all=true/false)
# 连接bbb = " ".join(aaa)
# 制作xxx = wordcloud(background_color,font_path).generate(bbb) #bbb为字符串
# 显示plt.imshow(xxx) #不能用plt.show()
# 取消坐标轴的显示matplotlib.pyplot.axis("off")
# 存为图片xxx.to_file(path)
# =============================================================================
from wordcloud import wordcloud
from matplotlib import pyplot as plt
import jieba
with open ( "pythontest.txt" ,encoding = "utf-8" ) as f:
text = f.read()
#textfromfile = open("pythontest",encoding = "utf-8").read()
word_list = jieba.cut( "abvdefg" ,cut_all = true) #切成了一个个的字符串
xxx = " " .join(word_list) #"分隔符".join(需要被连接的数据) 将内容连接为字符串
mywordcloud = wordcloud(background_color = "white" ,font_path = 'c:\windows\fonts\stzhongs.ttf' ).generate(text)
#mywordcloud = wordcloud(background_color="white",width=1000,height=860,font_path='c:\windows\fonts\stzhongs.ttf').generate(text)
plt.axis( "off" )
#plt.show(mywordcloud) #没有实际显示,只有背景!!!
plt.imshow(mywordcloud)
mywordcloud.to_file( "词云图片.jpg" ) #保存为图片
|
注意事项:
<一> jieba分词
- 分词后的返回值类型
- 分词后的返回值
- 如何去除所要分离文本的中英文符号,还有空格符
1
2
3
4
5
6
7
8
9
|
import jieba
wordlist = jieba.cut( "机器学习,算法对新鲜样本!的适应能力:叫泛化能力" ,cut_all = false)
print ( type (wordlist)) #类型是一个生成器generator
print (wordlist) #本身是一个生成器对象generator object
for list in wordlist:
if list in ",./;'[]~!@#$%^&*()_+,。、;‘ 【】~!@#¥%……&*()——+《 》?:“{}<>?:\n\r" :
none
else :
print ( list )
|
<二> 对词图进行重新上色的注意事项
- recolor(color_func=color) 正确
- recolor(color) 错误
<三> 读取图片时候的注意事项
a = np.array(image.open(路径))
<四> python中文件路径注意事项
- 使用 \\
- 使用 /
<五> spyder中的注释快捷键
- 单行注释:ctrl+1
- 块注释:ctrl+4
以上所述是小编给大家介绍的python数据可视化编程 - 词云生成并保存(jieba+wordcloud)详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:https://blog.csdn.net/qq_42292831/article/details/88199877