文本分析相关的问题常常会用到词云图这种可视化形式,因此特意开一个博客记录一下词云图相关。
第一推荐几个词云图生成网页,如果只有少量词的话用网页可能会方便一点。
Tendcode
这个工具超级简单,也是免费的。
https://tendcode.com/tool/word-cloud/

缺点在于生成的图看起来还是有点草率了。。

词云文字
这个网站功能多但是免费版最多支持20个词
https://www.ciyunwenzi.com/web/ciyun/#/ciyun/data

最后就是我们的python啦
python画词云图的库是wordcloud,使用步骤大致是调库,配置参数,生成,保存图片四步
1. 调库
from wordcloud import WordCloud
2. 配置参数
wc= wordcloud.WordCloud(<参数>)
wc = WordCloud( width=500, height=400, mode="RGBA",
background_color=None)

3. 生成
wc.generate(text)
此处的text是一个字符串,即词云图中所有词通过空格连接起来合成的字符串:列如“科技 科技 创新 发展….”
但许多时候我们的输入都是一个txt文件如何转化成长字符串呢?这里就会用到jieba这个库,jiaba是python中文分词的一个库,输入txt文件jieba会帮忙分词并连接。具体用法如下:
import jieba
text = open("/Users/yezizhi/Desktop/test.txt", encoding="utf-8").read() # 标明文本路径,打开
text = .join(jieba.cut(text))
4. 保存图片
# 显示词云图
plt.imshow(wc, interpolation="bilinear")
plt.axis("off")
plt.show()
# 保存文件
wc.to_file("/Users/yezizhi/Desktop/all_word_cloud.png")
然后我就发现自己的词云图是这个样子的⬇️!

在网上查阅资料得知,应该在词云图配置那一步增加“collocations=False,”避免出现重复图,第二步修改为
wc = WordCloud( width=500, height=400, mode="RGBA",
background_color=None,collocations=False,)

完整代码
def word_cloud():
# 导入txt文件
text = open("/Users/yezizhi/Desktop/test.txt", encoding="utf-8").read() # 标明文本路径,打开
text = .join(jieba.cut(text))
# 生成对象
wc = WordCloud(width=500, height=400, mode="RGBA",collocations=False,
background_color=None).generate(text)
# 显示词云图
plt.imshow(wc, interpolation="bilinear")
plt.axis("off")
plt.show()
# 保存文件
wc.to_file("/Users/yezizhi/Desktop/all_word_cloud.png")
下面这段代码是由于我的输入是一个xls文件,第一列是词,第二列是对应词频,因此我就自己手动拼接成了一个长字符串,大家如果有不同的输入也是同理,给word_cloud一个长字符串就好了,不过注意词与词之间空格连接。
def xlsx_word_cloud():
data = pd.read_excel( 整体词频.xlsx )
data_cy = data.copy()
max_word = 300
string_data =
for i_row in range(1,max_word):
times = data.iloc[i_row, 1]
for i_time in range(1,times):
string_data += data.iloc[i_row, 0]
string_data += " "
wc = WordCloud(width=500, height=400, mode="RGBA",
background_color=None,collocations=False,).generate(string_data)
# 显示词云图
plt.imshow(wc, interpolation="bilinear")
plt.axis("off")
plt.show()
# 保存文件
wc.to_file("/Users/yezizhi/Desktop/all_word_cloud.png")
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END


















暂无评论内容