一年一季的七夕就要到了,是时候展示我们程序猿的神技了!

今天用python3做了一下文字云图,有英文和中文两类。中文云图的生成需要文本切分,所以先给大家介绍中文云图。

大致步骤:

1、安装jieba

我尝试很多次的全自动安装,都失败了,所以只好去官网下载zip包,然后开始半自动安装。下载速度可是真慢!也许你的电脑比较给力。

大家选择合适自己的方式安装吧,祝大家好运。

测试:

import jieba

2、安装wordcloud

在这个网址下下载对应版本的.whl文件

http://www.lfd.uci.edu/~gohlke/pythonlibs/

对照自己安装的Python版本下载就行了,然后在文件所在目录下pipinstall 完整文件名.whl即可。不清楚怎么操作的,可以参见我之前的博客。辛苦大家往回找找,在这里我就不废话了。

3、码code

中文云图--

思路:先运用jieba分词对文章进行切分,同时读取背景的图片(用于绘制不同形状的文字云图),然后通过wordcloud生成文字云图并用画图工具展示。切记,汉字字体(.ttf)的路径一定要写全。不然后报错。当然你也可以去下载一些比较可爱的字体!

#路径模块
from os import path
#读取背景图片
from scipy.misc import imread
#分词模块
import jieba
#绘图模块
import matplotlib.pyplot as plt
#文字云模块
from wordcloud import WordCloud,ImageColorGenerator#读取完整txt
d=path.dirname('.')
#读取完整txt
text=open(path.join(d,'word1.txt')).read()
cut_text=" ".join(jieba.cut(text))
#print(cut_text)
#设置背景图片
color_mask=imread(path.join(d,'1314.jpg'))
#背景颜色,显示最多词数,设置背景图片,字体最大值,一定要把字体的完整路径写上
wc=WordCloud(font_path='C:\\Windows\\Fonts\\simkai.ttf',background_color='white',mask=color_mask,max_words=1000,max_font_size=1200)
#生成词云
word_cloud=wc.generate(cut_text)
image_colors=ImageColorGenerator(color_mask)
plt.imshow(wc.recolor(color_func=image_colors),interpolation='bilinear')
plt.axis('off')
plt.show()

英文词云:

from os import path
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
from wordcloud import WordCloud,STOPWORDS,ImageColorGenerator
#获取当前文件路径
d=path.dirname('.')
#读取完整txt
text=open(path.join(d,'word.txt')).read()#设置背景图片
alice_coloring=np.array(Image.open(path.join(d,'103.jpg')))
stopwords=set(STOPWORDS)
stopwords.add('said')
#背景颜色,显示最多词数,设置背景图片,字体最大值
wc=WordCloud(background_color='white',max_words=1000,mask=alice_coloring,stopwords=stopwords,max_font_size=500)
#生成词云
wc.generate(text)
image_colors=ImageColorGenerator(alice_coloring)
plt.imshow(wc,interpolation='bilinear')
plt.axis('off')
#绘制词云图
plt.figure()
plt.imshow(wc.recolor(color_func=image_colors),interpolation='bilinear')
plt.axis('off')
plt.figure()
plt.imshow(alice_coloring,cmap=plt.cm.gray,interpolation='bilinear')
plt.axis('off')
plt.show()

祝大家顺利!

Python8-10行代码生成任意形状的文字云图相关推荐

  1. python 10行代码生成词云图片(基础词云、形状词云)

    一.词云简介 词云,也称为文本云或标签云.在词云图片中,关键词在文本中出现的次数越多,则表示该词越重要,其在词云中所占面积区域也越大,出现次数越少,所占面积越小.词云可任意更换背景为白色的图形以改变词 ...

  2. ICCV 2019 Oral 端到端任意形状场景文字识别

    点击我爱计算机视觉标星,更快获取CVML新技术 本文简要介绍来自谷歌近期的一篇论文"Towards Unconstrained End-to-End Text Spotting", ...

  3. 借助云开发10行代码生成小程序码,可以微信扫码快速进入指定小程序页

    最近老有同学问我,如何生成小程序二维码,让用户扫码后能快速进入指定页面.经过一番研究,发现用云开发的云调用来实现特别方便,基本上10行代码就可以快速的生成指定页面的二维码.这样我们在做一些线下业务时就 ...

  4. 推荐!ICDAR 2019-ArT任意形状文字识别国际竞赛!奖金丰厚

    点击我爱计算机视觉标星,更快获取CVML新技术 赛事介绍 ICDAR 2019-ArT(Arbitrary-Shaped Text,任意形状场景文字识别)国际学术竞赛将于2019年3月1日正式开赛. ...

  5. OCR之端到端任意形状的场景文字识别 ICCV2019 End-to-End Text Spotting

    OCR之端到端任意形状的场景文字识别 ICCV2019 End-to-End Text Spotting 端到端文本识别(End-to-End Text Spotting)是将文本阅读问题看成一个整体 ...

  6. 10行 python 代码做出哪些酷炫的事情?

    来源 | Python小二 Python凭借其简洁的代码,赢得了许多开发者的喜爱.因此也就促使了更多开发者用Python开发新的模块,从而形成良性循环,Python可以凭借更加简短的代码实现许多有趣的 ...

  7. 10 行 Python 代码能实现哪些有趣功能?

    大家好,我是菜鸟哥 Python凭借其简洁的代码,赢得了许多开发者的喜爱.因此也就促使了更多开发者用Python开发新的模块,从而形成良性循环,Python可以凭借更加简短的代码实现许多有趣的操作.下 ...

  8. 10行python代码可以做哪些酷炫的事情

    前言 今天玩啥?10行代码够玩吗? Python凭借其简洁的代码,赢得了许多开发者的喜爱.因此也就促使了更多开发者用Python开发新的模块,从而形成良性循环, Python可以凭借更加简短的代码实现 ...

  9. 10行python代码做出哪些酷炫的事情?

    大家好,我是辰哥~ Python凭借其简洁的代码,赢得了许多开发者的喜爱.因此也就促使了更多开发者用Python开发新的模块,从而形成良性循环,Python可以凭借更加简短的代码实现许多有趣的操作.下 ...

最新文章

  1. TENSORFLOW较好的博客
  2. 从缓冲上看阻塞与非阻塞socket在发送接收上的区别
  3. mongodb指南(翻译)(一) - 翻译前言
  4. LeetCode 171 Excel Sheet Column Number
  5. vue组件transition的使用(demo演示) - 教程篇
  6. greasyfork脚本怎么取消_更新了js脚本,回答一些常见问题
  7. 图论/暴力 Codeforces Beta Round #94 (Div. 2 Only) B. Students and Shoelaces
  8. redis新数据类型-HyperLogLog
  9. vscode使用:tab键插入空格而不是tab
  10. 李扬:2018春节港澳游(上篇:行)
  11. python怎么判断质数和合数_什么是质数和合数以及判断方法介绍
  12. python自动提交网页表单_Python 自动化表单提交实例代码
  13. php 统计uv,简单网站统计功能的实现 PV IP 真实访客数(UV) | 学步园
  14. knn.predict()报错 Expected 2D array, got 1D array instead: array=[18 90]. Reshape your data either usi
  15. Cuda相关的函数数
  16. 「雷锋前线」迅雷的“星域CDN”能撼动市场吗?
  17. 【万物物联】Siri+快捷指令+onenet控制掌控板
  18. MacOS swift 首页导航栏 不显示标题问题
  19. Java研发小试(面试题)
  20. 上班族妈妈的教子宝典:教你做事业成功的好妈妈

热门文章

  1. 转:正则表达式之 贪婪与非贪婪模式详解
  2. java字符串分割split你用对了吗
  3. 用QT导出Excel表格
  4. HTML单标签和双标签的区别及分类
  5. iturns连接ipad无法同步,“同步”为灰色
  6. php swf生成,五种php生成swf 文件代码
  7. Netcat使用学习
  8. 深入浅出语言模型(一)——语言模型及其有趣的应用
  9. mysql use index用法_mysql use index、ignore index、force index用法
  10. Kodi播放器怎样使用DLNA投射功能?