程序员有三种美德:懒惰,急躁和傲慢

平时在网上经常看到这样的图片

我就想,这些东西能不能用python实现呢,果然python库无所不在,有一个库wordcloud就是干这个的

如果你没有可以使用pip下载安装

首先我们想象做这东西都需要什么东西

1.因为都是用词组成的,需要很多词,如果提供的是文本则需要分词操作

2.这些词有大有小,大小和出现的频率有关系

3.图有形状

首先我们来解决一下分词的问题,做这东西也有相应的库,名字叫jieba

名字比较奇怪,反过来想也挺形象,结巴说话就是蹦词嘛,哈哈

wordlist_jieba=jieba.cut(text)

引入jieba,一句话分词,返回一个列表

 wordcloud=WordCloud(background_color="black",max_words=150,max_font_size=85,font_path="FZLTXIHK.TTF").generate(text)image=wordcloud.to_image()image.show()

然后使用wordcloud来生成词云,参数的作用就是名字(背景颜色 最大词数量 最大字体 字体文件路径)

然后使用to_image转换成图片,最后显示出来

但是你会发现一个问题,一段话里面有很多你不想要的词,不管中国人说话还是外国人说话语句中就有很多语气助词,连接词等等,比如:然后,这些,那些,所以,但是,因为

我们不想要这些词,我们可以使用stopw0rds来去除这些词

然后我还需要改变词云的外形,因为默认的形状是矩形,很难看

这里还需要两个库,一个是PIL处理图片的,一个是numpy科学计算的

  mask_pic=numpy.array(Image.open(os.path.join(cur_path,"love.jpg")))

使用os.path.join生成一个指定环境下指定文件名的路径,使用Image.open打开图片,再使用numpy.array把图片转换为数组

然后在生成词云时添加参数mask值为图像数组就好了,mask相当于一个遮罩层

完整代码发一份

from wordcloud import WordCloud
import jieba
import numpy
import PIL.Image as Image
import osstopwords={"然后":0,"这些":0,"那些":0,"所以":0,"但是":0}
cur_path=os.path.dirname(__file__)+"./resources"def chinese_jieba(text):wordlist_jieba=jieba.cut(text)text_jieba=" ".join(wordlist_jieba)return text_jiebawith open(os.path.join(cur_path,"qingshi.txt")) as file:text=file.read()text=chinese_jieba(text)mask_pic=numpy.array(Image.open(os.path.join(cur_path,"love.jpg")))# print(text)#背景颜色  词数量  词字体大小  字体文件路径(需要放到和py文件同一个路径下) 去掉的词  遮罩层wordcloud=WordCloud(background_color="black",max_words=150,max_font_size=85,font_path="FZLTXIHK.TTF",stopwords=stopwords,mask=mask_pic).generate(text)image=wordcloud.to_image()image.show()

生成图:

这是用一百首情诗做出来的,一百首情诗的浓缩,程序猿的浪漫

教你用Python生成词云相关推荐

  1. python 词云_利用Python生成词云

    利用Python生成词云 一.第三方库的安装与介绍 1.1  Python第三方库jieba(中文分词) 1.介绍 "结巴"中文分词:做最好的 Python 中文分词组件. 2.特 ...

  2. Hadoop3.0基础平台搭建(三节点),以及案例运行并使用python生成词云

    一.设备配置列表,软件包 二.主机名映射 三.生成密钥 四.将密钥发送到各个节点 五.注意事项及验证 六.关闭防火墙和SeLinux安全模块(所有主机均需操作 七.解压JDK.hadoop包,设置Ja ...

  3. python词云改颜色_一种用Python生成词云

    一种用Python生成词云 我们在阅读一篇很长的文章时,总先看看文章的关键词来获知文章的大概内容.今天我们就来制作一个词云程序,将文章中出现次数较多的词语提取出来,生成一张词云图. 词云图的生成原理: ...

  4. 手机python软件怎么下载词云_从零开始教你用 Python 做词云

    原标题:从零开始教你用 Python 做词云 雷锋网按:本文作者王树义,原载于微信公众号玉树芝兰(nkwangshuyi),雷锋网经授权发布. 临渊羡鱼,不如退而结网.我们步步为营,从头开始帮助你用P ...

  5. python生成词云代码无错窗口空框_10分钟教你用Python生成属于自己的词云图

    1 #导入需要模块 import jieba from PIL import Image import numpy as np import matplotlib.pyplot as plt from ...

  6. python制作词云时出现figure1 figure2_用Python生成词云

    词云是一种数据可视化技术,用于表示文本数据,其中每个单词的大小表示其出现的频率或重要性. 可以使用词云突出显示重要的文本数据点. 词云被广泛用于分析来自社交网络网站的数据. 为了在Python中生成词 ...

  7. python生成词云很慢吗_词云制作没那么难,Python 10 行代码就实现了!

    写在前面 想必大家有一个问题.什么是词云呢? 词云又叫名字云,是对文本数据中出现频率较高的"关键词"在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略 ...

  8. python生成词云_词云制作没那么难,Python 10 行代码就实现了!

    欢迎点击右上角关注小编,除了分享技术文章之外还有很多福利,私信"学习资料"可以领取包括不限于Python实战演练.PDF电子文档.面试集锦.学习资料等. 写在前面 想必大家有一个问 ...

  9. python 生成词云

    #/usr/bin/env python # *-*coding:utf-8 *-* #模块介绍https://amueller.github.io/word_cloud/ #python 3.5.2 ...

最新文章

  1. 解决Parameter ‘__frch_item_0‘ not found. Available parameters 问题
  2. 18香警告:一个女生勿近的邪恶开源项目...
  3. 小米 一亿像素传感器 笔记
  4. 那些不敢生孩子的女人,都在怕什么?
  5. netcore一键部署到linux服务器以服务方式后台运行
  6. maven 构建 springmvc + spring security 权限控制示例
  7. BZOJ2612 : [Poi2003]Sums
  8. python函数的嵌套调用_python函数的嵌套调用
  9. 算法面试避坑指南,助你轻松应对Java面试
  10. html5 viewpor,FileViewPro
  11. 一个6年java程序员的工作感悟,写给还在迷茫的你
  12. Deep Learning-Deep feedforward network
  13. SVN工具的安装和使用
  14. 数据库出错提示Duplicate entry * for key *的解决方法
  15. 【NLP】句法分析学习笔记(一)
  16. 将java封装的实体类数据生成excel供下载
  17. 002 免格式化U盘部署PE(BIOS)
  18. 算法分析-时间复杂度:大O、大Ω、大θ、小o、小ω
  19. setoolkit进行钓鱼攻击
  20. 关于为什么sklearn画出来的ROC曲线图是折线的问题

热门文章

  1. 2019计算机软件技术的就业率是多少,2019计算机科学与技术专业就业方向与就业前景如何...
  2. leetcode 学习之路
  3. android按home键再启动程序camera黑屏屏蔽home键
  4. 【小月电子】安路国产FPGA开发板系统学习教程-LESSON10无源蜂鸣器驱动
  5. android程序崩溃后重启
  6. wav 与 pcm 互转
  7. 【日语口语词典学习】第0001页
  8. Webplus模板建站步骤 含模板窗口及标签规则介绍
  9. javaweb网站开发模板化设计
  10. 老友记第三季第二十三期