您的位置:首页 > 编程语言 > Python开发

【实例】词频统计及其可视化python+jieba+wordcloud

2018-03-10 10:26 1046 查看
文本提供最后案例的文档下载:https://download.csdn.net/download/qq_19741181/10278764
python 根据文本生成标签云 
-----------------------------------------------------------------------------------------------
>>> import jieba
>>> import jieba.analyse
>>> f = open('E:/cipin.txt','r')
>>> lines = f.readlines()

>>> text = ''
>>> for line in lines:
...     text += line
...

>>> tags = jieba.analyse.extract_tags(text,topK = 20)
Building prefix dict from the default dictionary ...
Dumping model to file cache C:\Users\oil\AppData\Local\Temp\jieba.cache
Loading model cost 1.280 seconds.
Prefix dict has been built succesfully.
>>> print("|".join(tags))
学工|font|2018|通知|color|black|学生|招聘|学院|深圳大学|勤工助学|关于|2017|招生|寒招|学期|管理|学年|奖学金|宣传
>>>
-----------------------------------------------
>>> # -*- coding: utf-8 -*-

... #coding = utf-8
...
>>> import matplotlib.pyplot as plt
>>> from wordcloud import WordCloud
>>> import jieba
>>>
>>> txt1 = open('E:/cipin.txt','r',encoding = 'utf-8').read()
  File "<stdin>", line 1
    txt1 = open('E:/cipin.txt','r',encoding = 'utf-8').read()
                                          ^
SyntaxError: invalid character in identifier
>>> txt1 = open('E:/cipin.txt','r').read()
>>> words_ls = jieba.cut(txt1, cut_all=True)
>>> words_split = " ".join(words_ls)
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\oil\AppData\Local\Temp\jieba.cache
Loading model cost 1.224 seconds.
Prefix dict has been built succesfully.
>>> wc = WordCloud()
>>> wc.font_path="simhei.ttf"
>>> my_wordcloud = wc.generate(words_split)
>>> plt.imshow(my_wordcloud)
<matplotlib.image.AxesImage object at 0x000001D08992BC50>
>>> plt.axis("off")
(-0.5, 399.5, 199.5, -0.5)
>>> plt.show()
>>> wc.to_file('E:/zzz.png')
<wordcloud.wordcloud.WordCloud object at 0x000001D0FCBE6358>

>>>



--------------------------------------------------------
# -*- coding: utf-8 -*-
# coding=utf-8

import matplotlib.pyplot as plt
import wordcloud
import jieba

txt1 = open('E:/word.txt', 'r').read()
words_ls = jieba.cut(txt1, cut_all=True)
words_split = " ".join(words_ls)

参考文章:py库: jieba (中文词频统计) 、collections (字频统计)、WordCloud (词云)
# 参数都可以注释掉,但必须设置font_path
wc = wordcloud.WordCloud(
width=800,
height=600,
background_color="#ffffff", # 设置背景颜色
max_words=500, # 词的最大数(默认为200)
max_font_size=60, # 最大字体尺寸
min_font_size=10, # 最小字体尺寸(默认为4)
colormap='bone', # string or matplotlib colormap, default="viridis"
random_state=10, # 设置有多少种随机生成状态,即有多少种配色方案
mask=plt.imread("mask2.gif"), # 读取遮罩图片!!
font_path='simhei.ttf'
)
my_wordcloud = wc.generate(words_split)

plt.imshow(my_wordcloud)
plt.axis("off")
plt.show()
wc.to_file('zzz.png') # 保存图片文件
>>> wc = wordcloud.WordCloud(
...     width=800,
...     height=600,
...     background_color="#ffffff",  # 设置背景颜色
...     max_words=500,  # 词的最大数(默认为200)
...     max_font_size=60,  # 最大字体尺寸
...     min_font_size=10,  # 最小字体尺寸(默认为4)
...     colormap='bone',  # string or matplotlib colormap, default="viridis"
...     random_state=10,  # 设置有多少种随机生成状态,即有多少种配色方案
...     mask=plt.imread("E:/1.gif"),  # 读取遮罩图片!!
...     font_path='simhei.ttf'
... )
>>> my_wordcloud = wc.generate(words_split)
>>> plt.imshow(my_wordcloud)
<matplotlib.image.AxesImage object at 0x0000011202680780>
>>> plt.axis("off")
(-0.5, 749.5, 570.5, -0.5)
>>> plt.show()
>>> wc.to_file('E:/1321.png')
<wordcloud.wordcloud.WordCloud object at 0x00000112021DFB38>

>>>


---------------------------------------------
参考:https://www.cnblogs.com/qq21270/p/7695275.html
font_path:msyh.ttf   微软雅黑
msyhbd.ttf   微软雅黑 粗体
simsun.ttc   宋体
simhei.ttf   黑体colormap:autumn  从红色平滑变化到橙色,然后到黄色。
bone  具有较高的蓝色成分的灰度色图。该色图用于对灰度图添加电子的视图。
cool  包含青绿色和品红色的阴影色。从青绿色平滑变化到品红色。
copper  从黑色平滑过渡到亮铜色。
flag  包含红、白、绿和黑色。
gray  返回线性灰度色图。
hot   从黑平滑过度到红、橙色和黄色的背景色,然后到白色。
hsv   从红,变化到黄、绿、青绿、品红,返回到红。
jet   从蓝到红,中间经过青绿、黄和橙色。它是hsv色图的一个变异。
line   产生由坐标轴的ColorOrder属性产生的颜色以及灰的背景色的色图。
pink   柔和的桃红色,它提供了灰度图的深褐色调着色。
prism   重复这六种颜色:红、橙、黄、绿、蓝和紫色。
spring   包含品红和黄的阴影颜色。
summer   包含绿和黄的阴影颜色。
white   全白的单色色图。
winter   包含蓝和绿的阴影色。

python 根据文本生成标签云
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: