最近突发奇想,想做个词云玩玩,这算是Python的一个很初级的应用,虽然很初级,依然免不了会出现各种bug~

使用工具:

Anaconda:一个开源的用于Python科学计算的发行版本

jieba:一个Python第三方库,用于中文分词。

wordcloud:一个Python的第三方库,用于生成词云。

一份中文字体文件:simsun.ttf

若干咪蒙文章资源:作为语料数据。

一张白底图片:作为词云的蒙版。

实验效果:

我用我的微信头像当做蒙版:

然后生成的词云长这个样子:

安装实验环境:

提示:需要将simsun.ttf文件和文章资源放在同一文件目录里,而且文章资源(数据源)应为UTF-8编码格式。并在此文件目录通过Anaconda Prompt打开jupyter notebook。关于Anaonda的安装和使用,参考这篇文章:https://www.jianshu.com/p/772740d57576

完整代码:

"""

使用蒙版图片和wordcloud生成任意形状的词云

"""

from os import path

from PIL import Image

import numpy as np

import matplotlib.pyplot as plt

import jieba

from wordcloud import WordCloud

# Windows下面文件路径要使用双斜线,第一个斜线表示转义

# 指明语料数据和蒙版图片的文件路径

d = path.dirname("D:\\python\\")

# 读取语料数据文件

# 含有中文的文件要使用“rb”以二进制格式读取,否则会出现编码错误

text = open(path.join(d, 'mimeng1.txt'), "rb").read()

# 使用jieba进行中文分词

mytext = " ".join(jieba.cut(text))

# 读取蒙版图片

alice_mask = np.array(Image.open(path.join(d, "touxiang.jpg")))

# 暂定最大词汇数为1000000

wc = WordCloud(font_path="simsun.ttf", background_color="white", max_words=1000000, mask=alice_mask,

stopwords=stopwords, contour_width=3, contour_color="steelblue")

# 生成词云

wc.generate(mytext)

# 存储到文件

wc.to_file(path.join(d, "meng.png"))

# 展示词云结果

plt.imshow(wc, interpolation='bilinear')

plt.axis("off")

plt.figure()

plt.imshow(alice_mask, cmap=plt.cm.gray, interpolation='bilinear')

plt.axis("off")

plt.show()

代码的细节在注释里都有详细的说明。

当然,同样的数据源,还可以做成很多样式的词云,比如下面这个:

还有这样的:

总结:任何一件简单的事,不自己亲自去做一遍,永远不知道会遇到多少bug。

每天学习一点点,每天进步一点点。

python中词云的图片是蒙版_用Python做简易词云相关推荐

  1. python爬虫网站 词云_Python爬虫之爬取情话网站并绘制词云

    一.爬取网站 1.分析目标网站 首先我们需要分析目标网站的源代码 分析html得知所有的情话都是在标签 下,而且一个 标签对应着一句情话. 2.编写代码 import bs4 import reque ...

  2. Python爬虫+简易词云的制作

    Python爬虫+简易词云的制作 写在前面 再识Python 简介: 应用场景: Python命令行执行: 基本语法: 连接数据库: Python爬虫 主要步骤: 第一种爬虫:urllib基本库+Be ...

  3. python中词云图怎样变成特殊图案_如何利用python画出一个多变的词云图?(1)...

    问题描述: 如何利用python画出一个多变的词云图? 解决方法:import numpy as np import matplotlib import matplotlib.pyplot as pl ...

  4. python图片字符分割_图像分割python

    常用的十大 python 图像处理工具 本文为 AI 研习社编译的技术博客,原标题 : 10 Python image manipulation tools. 作者 | Parul Pandey 翻译 ...

  5. python中做为词云轮廓的图片_WordCloud制作词云(2)--以图片为轮廓附制作心形词云❤...

    准备工作: 1. 安装matplotlib以及numpy 2. 文本内容(英文最好,官方不支持中文词分割,第三节涉及到中文支持问题,可跳转查看中文支持,可以直接复制文本,也可以读取文本文件) 3. 一 ...

  6. excel图片变成代码_没错, Python杀死了Excel

    在大家的印象里,想进入金融行业或者数据岗位,首先需要精通Excel.然而野村证券副首席数字官马修·汉普森在上周五的伦敦Quant Conference上发表讲话:"现在走进交易大厅,用Exc ...

  7. python中做为词云轮廓的图片,Python如何生成词云图片

    很早之前写过一篇怎么利用微博数据制作词云图片出来,之前的写得不完整,而且只能使用自己的数据,现在重新整理了一下,任何的微博数据都可以制作出来,放在今天应该比较应景. 一年一度的虐汪节,是继续蹲在角落默 ...

  8. 词云python灿烈_如何用Python做中文词云?

    打算绘制中文词云图?那你得先学会如何做中文文本分词.跟着我们的教程,一步步用Python来动手实践吧. 需求 在<如何用Python做词云>一文中,我们介绍了英文文本的词云制作方法.大家玩 ...

  9. python图片水印软件_使用Python编写批量添加图片水印程序:一、代码方案

    一.为什么要为图片添加水印 在互联网写文章最头疼的一件事情就是发表的文章容易被抄袭,各种抄袭的手段真的是层出不穷.无奈,只能在不影响阅读体验的情况下不断地提高反抄袭的难度.虽然防不住,但是为文章中的图 ...

最新文章

  1. Linux下配置MySQL需要注意的几点
  2. SAP UI5 Web Component里如何自定义CSS style
  3. 加个属性让div成纵向横向无缝滚动(支持IE和FF)
  4. java 连接池连接mysql数据库需要哪些jar包_DBCP-基于Java8导入DBCP连接池所需JAR包并编写DBCPUtils工具类...
  5. 【Elasticsearch】腾讯Elasticsearch海量规模背后的内核优化剖析
  6. Canvas快速入门知识点
  7. visionpro 图片格式转海康图片格式
  8. 【每日一博】asynchat 异步socket命令/响应处理器
  9. 数组元素循环右移问题
  10. mmp格式转换_mmp是什么意思
  11. python字符串转换成数字_python – Jinja将字符串转换为整数
  12. spring boot全局日期格式化配置
  13. 计算机阵列除法器原理,并行除法器 ,并行除法器结构原理是什么?
  14. 旅行青蛙——手游破解究竟需要多少成本
  15. 国密PSAM卡与CPU(用户卡)操作过程 小结
  16. 任天堂服务器维护11.2,switch11.0.0版本更新内容汇总 NS11.0.0更新维护公告
  17. android plc,基于Android的智能PLC操控软件设计与实现
  18. 百万级数据连表查询优化
  19. 【神经网络】MP神经网络模型(附实例代码讲解)
  20. IT培训讲师的亲身感受

热门文章

  1. 优化性能----百万订单导出
  2. CodeForces 655C Enduring Exodus (三分)
  3. photoshop 快速画直线 1
  4. 我的世界服务器改无限耐久的插件,迷你世界怎么把武器改成无限耐久 | 手游网游页游攻略大全...
  5. 技术分享连载(八十四)
  6. Python-Django框架的select_related 和 prefetch_related函数对 QuerySet 查询的优化
  7. 13班大三上学科资料汇总(持续更新~)
  8. Python网络爬虫过程中,构建网络请求的时候,参数`stream=True`的使用
  9. 直播带货选择什么平台比较好
  10. 网络安全——一图看懂HTTPS建立过程