文本提供最后案例的文档下载: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)
>>> plt.axis("off")
(-0.5, 1979.5, 1679.5, -0.5)
>>> plt.show()
-----------------------------------------------
>>> plt.show()
>>> wc.to_file('E:/zzz.png')
>>>
--------------------------------------------------------
# -*- 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)
>>> plt.axis("off")
(-0.5, 749.5, 570.5, -0.5)
>>> plt.show()
>>> wc.to_file('E:/1321.png')
---------------------------------------------
参考: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 包含蓝和绿的阴影色。