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

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_19741181/article/details/79505271

文本提供最后案例的文档下载: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 ...
Loading model from cache C:\Users\oil\AppData\Local\Temp\jieba.cache
Loading model cost 0.916 seconds.
Prefix dict has been built succesfully.
>>> print("\n".join(tags))
深圳大学
关于
行政
校园
2018
3.9
3.8
3.7
通知
校史馆
普通本科
三八节
高级职称
展陈


>>> import matplotlib.pyplot as plt
>>> from wordcloud import WordCloud
>>> txt1 = open('E:/cipin.txt','r').read()
>>> words_ls = jieba.cut(txt1, cut_all=True)
>>> words_split = " ".join(words_ls)
>>> wc = WordCloud(
...   width = 1980,
...   height = 1680
... )
>>> wc.font_path="simhei.ttf"
>>> my_wordcloud = wc.generate(words_split)
>>> plt.imshow(my_wordcloud)
<matplotlib.image.AxesImage object at 0x000002082F833B70>
>>> plt.axis("off")
(-0.5, 1979.5, 1679.5, -0.5)
>>> plt.show()

-----------------------------------------------

>>> 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 根据文本生成标签云
展开阅读全文

没有更多推荐了,返回首页