python小项目 您所在的位置:网站首页 词云程序 python小项目

python小项目

#python小项目| 来源: 网络整理| 查看: 265

 

所谓词云:

       “词云”就是对网络文本中出现频率较高的“关键词”予以视觉上的突出,形成“关键词云层”或“关键词渲染”,从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨。

 

        随着python的迅速崛起,人们发现可以使用python来实现很多有趣的小作品。这款词云也是非常吸引我,因此专门去翻了翻前辈们的足迹,自己实现了一次。

 

       首先我们需要明确实现这个功能需要一些什么库

WordCloud #词云制作 最关键的库:用来形成词云 PIL.Image #(opencv简洁版)绘制图像,图像解析 opencv(BGR) matplotlib(2d) numpy #将图形转化为矩阵数组 jieba #中文分词 根据中文语境 自定义分词

 

 

 

纯英文文本的词云生成代码: import numpy as np #将图案轮廓转化成数组存储 import PIL.Image as image #图像分析 import matplotlib.pyplot as plt #绘图 from wordcloud import WordCloud #词云 filename = "text_ep.txt" #文本位置及文件名 with open(filename) as f: mytext = f.read() #读取 存入mytext mask = np.array(image.open("mask.jpg")) #打开词云图案读取轮廓 轮廓数组化 wordcloud = WordCloud(mask= mask).generate( mytext) plt.imshow(wordcloud,interpolation = 'bilinear') #bilinear双线性插值 plt.axis("off") wordcloud.to_file('Wordcloud.png')

注:双线性插值制图详解传送门

 

 

 

中文分词词云生成代码:(这里需要用到 jieba 这个汉语分词库) from wordcloud import WordCloud #词云制作 文字字体大小尺寸等 import PIL.Image as image #(opencv简洁版)绘制图像 opencv(BGR) matplotlib(2d) import numpy as np #将图形转化为矩阵 import jieba #中文分词 def transfrom_zh(text): #接收文本 word_list = jieba.cut(text) #加空格断词 result = ' '.join(word_list) return result filename = "text_zh.txt" with open(filename,encoding='utf-8') as f: mytext = f.read() #读取文本 mytext = transfrom_zh(mytext) #删除标点 空格断词转换 mask = np.array(image.open("mask.jpg")) #图像轮廓转换为数组 wordcloud = WordCloud( mask= mask , #遮罩 font_path = 'C:\Windows\Fonts\STZHONGS.TTF' #中文字体名(点击属性查看,选英文名的汉字字体)不加报错 默认路径C:\Windows\Fonts\STZHONGS.TTF 华文中宋 ).generate(mytext) image_1 = wordcloud.to_image() image_1.show()

 

 

                               清明节网上随手找的文章,用右下角的mask做的词云,非常开心呢~给你看下我的图:

总结:

   词云制作的代码不是很多,用到了很多的python自带库,难度一般,需要对库函数做进一步的理解。

祝大家学业有成!也祝自己~     一起努力!!!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有