作者 | Julia Kho

编辑| 代码医生团队

在本文中,我们将探讨如何在python中以您想要的任何形状生成文字云。我们将通过一个示例来说明如何在房屋的自定义形状中创建简单的文字云,如上图所示。

如果您不熟悉单词云,则它是单词的图像,其中每个单词的大小表示其频率或重要性。它们是可视化文本的强大方式。词云易于阅读且易于理解。关键词突出了读者,并在观众中具有视觉吸引力。

在与项目主题相关的形状中创建文字云可以使您的可视化更加令人印象深刻。

. . .

用于生成词云的PYTHON步骤

步骤1:

导入以下python库。

from wordcloud import WordCloud, STOPWORDS

from PIL import Image

import numpy as np

import urllib

import requests

import matplotlib.pyplot as plt

注意1:如果出现错误,指出“No module named‘wordcloud’”,请在终端中运行以下命令以安装wordcloud。

python -m pip install wordcloud

注意2:如果您收到有关PIL的错误,请导航至以下文件:

./anaconda3/lib/python3.6/site-packages/PIL/Image.py

打开Image.py文件并更改下面的代码

if PILLOW_VERSION != getattr(core, ‘PILLOW_VERSION’, None):

raise ImportError(“The _imaging extension was built for another “

“version of Pillow or PIL:\n”

“Core version: %s\n”

“Pillow version: %s” %

(getattr(core, ‘PILLOW_VERSION’, None),

PILLOW_VERSION))

以下

if core.PILLOW_VERSION != getattr(core, ‘PILLOW_VERSION’, None):

raise ImportError(“The _imaging extension was built for another “

“version of Pillow or PIL:\n”

“Core version: %s\n”

“Pillow version: %s” %

(getattr(core, ‘PILLOW_VERSION’, None),

PILLOW_VERSION))

第2步:

添加要用于文字云的文本。我使用了以下与家庭有关的词语。

words = 'access guest guest apartment area area bathroom bed bed bed bed bed bedroom block coffee coffee coffee coffee entrance entry francisco free garden guest home house kettle kettle kitchen kitchen kitchen kitchen kitchen kitchen living located microwave neighborhood new park parking place privacy private queen room san separate separate shared space space space street suite time welcome'

第3步:

mask = np.array(Image.open(requests.get(‘http://www.clker.com/cliparts/O/i/x/Y/q/P/yellow-house-hi.png', stream=True).raw))

要获取字云的自定义形状,请查找要用作蒙版的图像。在此示例中,我使用以下图像作为大纲:

http://www.clker.com/cliparts/O/i/x/Y/q/P/yellow-house-hi.png

步骤4:

此函数接收文本和掩码以生成自定义wordcloud。

def generate_wordcloud(words,mask):

word_cloud = WordCloud(width = 512,height = 512,background_color ='white',stopwords = STOPWORDS,mask = mask).generate(words)

plt.figure(figsize =(10,8),facecolor ='white',edgecolor ='blue')

plt.imshow(word_cloud)

plt.axis( 'OFF')

plt.tight_layout(pad=0)

plt.show()

运行以下代码行来调用函数生成wordcloud!

generate_wordcloud(words,mask)

您的最终代码应如下所示:

from wordcloud import WordCloud, STOPWORDS

from PIL import Image

import urllib

import requests

import numpy as np

import matplotlib.pyplot as plt

words = 'access guest guest apartment area area bathroom bed bed bed bed bed bedroom block coffee coffee coffee coffee entrance entry francisco free garden guest home house kettle kettle kitchen kitchen kitchen kitchen kitchen kitchenliving located microwave neighborhood new park parking place privacy private queen room san separate seperate shared space space space street suite time welcome'

mask = np.array(Image.open(requests.get('http://www.clker.com/cliparts/O/i/x/Y/q/P/yellow-house-hi.png', stream=True).raw))

# This function takes in your text and your mask and generates a wordcloud.

def generate_wordcloud(words, mask):

word_cloud = WordCloud(width = 512, height = 512, background_color='white', stopwords=STOPWORDS, mask=mask).generate(words)

plt.figure(figsize=(10,8),facecolor = 'white', edgecolor='blue')

plt.imshow(word_cloud)

plt.axis('off')

plt.tight_layout(pad=0)

plt.show()

#Run the following to generate your wordcloud

generate_wordcloud(words, mask)

玩定制词云有乐趣!您还可以根据自己的喜好调整颜色和大小。随意与我分享你最终创建的云!

关于图书

《深度学习之TensorFlow:入门、原理与进阶实战》和《Python带我起飞——入门、进阶、商业实战》两本图书是代码医生团队精心编著的 AI入门与提高的精品图书。配套资源丰富:配套视频、QQ读者群、实例源码、 配套论坛:http://bbs.aianaconda.com。更多请见:aianaconda.com

点击“阅读原文”配套图书资源

python词云自定义形状_如何在Python中生成任何形状的词云相关推荐

  1. python画图修改背景颜色_如何在 Matplotlib 中更改绘图背景的实现

    介绍 Matplotlib是Python中使用最广泛的数据可视化库之一.无论是简单还是复杂的可视化项目,它都是大多数人的首选库. 在本教程中,我们将研究如何在Matplotlib中更改绘图的背景. 导 ...

  2. 用python画奔驰的标志_如何在CATIA中快速画一个奔驰车标

    原标题:如何在CATIA中快速画一个奔驰车标 咱们这个公众号呀,总是发一些二次开发啊,代码啊什么的,这观众看的啊,是云里雾里的!哎,内位说了:您能不能讲点儿我们听的懂的内容啊?那好,今儿咱们就来说说, ...

  3. python 参数个数 同名函数_如何在python中编写不同参数的同名方法

    我在Java背景下学习Python(3.x). 我有一个python程序,我在其中创建一个personObject并将其添加到列表中.p = Person("John") list ...

  4. python实现随机抽取答题_如何在python中实现随机选择

    这篇文章主要介绍了如何在python中实现随机选择,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 想从一个序列中随机抽取若干元素,或者想生成几个随机 ...

  5. python如何读取uni文件_如何在Python中通过HTTP与UniProt交谈?

    我试图从UniProt获得一些结果,这是一个蛋白质数据库(细节并不重要).我正在尝试使用一种从一种ID转换为另一种ID的脚本.我能够在浏览器上手动执行此操作,但无法在 Python中执行此操作. 在h ...

  6. python调用adb shell命令_如何在python脚本里面连续执行adb shell后面的各种命令

    如何在python脚本里面连续执行adb shell后面的各种命令 adb shell "cd /data/local && mkdir tmp" adb shel ...

  7. python读json文件数组_如何在python中从json文件读取json对象数组

    我有一个名为example.json的json文件,包含以下内容[{ "product/productId" : "XXX", "product/ti ...

  8. python二进制转八进制代码_如何在python中输入二进制、八进制、十进制、十六进制数据并转换...

    最近在学习python,不过跟着课本的作业题目: 分别就计算二进制110110011.八进制256和十六进制的数字a4b5,并转化为十进制求和. 不过写过程中遇到了个问题: 如何在python中输入二 ...

  9. python怎么去掉换行符_如何在Python中删除尾部换行符?

    如何在Python中删除尾部换行符? 什么是Perl的chomp函数的Python等价物,如果它是换行符,它会删除字符串的最后一个字符? 26个解决方案 1473 votes 尝试方法lstrip() ...

最新文章

  1. 解决python中import时无法识别自己写的包和模块的方法
  2. HTML DOM 属性
  3. 玩转数据结构从入门到进阶五
  4. springcloud 微服务 分布式 Activiti6 工作流 vue.js html 跨域 前后分离
  5. 网易云信 — 陪你打怪让你飞!
  6. 面试字节跳动后的2点总结,建议收藏!
  7. 四元数c语言,C + OpenGL四元数
  8. java演练0920 我们9203班 02 随机点名功能实现
  9. relative和absolute使用
  10. HTTP基础(图解HTTP笔记)幕布
  11. 如何使用清理垃圾软件优化苹果电脑
  12. 微信小程序+ColorUI
  13. Java实现小说分割器
  14. 集团税务共享化、数字化系统如何选型(一)
  15. SLCP验厂辅导,SLCP是向最终用户分享已验证的评估数据的关键
  16. Kali Linux学习笔记—Web渗透(1)
  17. 励志故事之俞敏洪的四瓶水
  18. 重磅 联想企业网盘发布全新功能!
  19. QGC地面站手把手教你改——如何添加跟随面板显示关键参数
  20. 单臂路由的原理以及配置

热门文章

  1. 马斯克OpenAI实验室的17岁高中生
  2. STM32 单片机 GY-906 MLX90614 红外温度读取
  3. Unity 横屏、竖屏多分辨率自适应
  4. HDU 4417 Super Mario(线段树)
  5. 什么是码元?(举例详解)
  6. python引用传递的区别_php传值引用的区别
  7. 几种常见的I2S数据格式(转)
  8. 华为交换机vlan配置举例_华为三层交换机实例配置方式心得
  9. SpringBoot社区小区物业管理停车场系统(Java+Layui+MyBatis+Python+Mysql)
  10. FEC-Reed-Solomon算法浅析(一)