赞!python 生成词云详细教程-最简单的中文词云生成代码

pip install wordcloud

赞!python 生成词云详细教程-最简单的中文词云生成代码

pip install jieba

赞!python 生成词云详细教程-最简单的中文词云生成代码

wordcloud生成词云

效果图:

赞!python 生成词云详细教程-最简单的中文词云生成代码

代码:

from wordcloud import WordCloud
import matplotlib.pyplot as plt #绘制图像的模块
import jieba     #jieba分词

path_txt='d://西游.txt'
f = open(path_txt,'r',encoding='UTF-8').read()

# jieba分词,生成字符串,wordcloud无法直接生成正确的中文词云
cut_text = " ".join(jieba.cut(f))

wordcloud = WordCloud(
 #设置字体,不然会出现口字乱码,文字的路径是电脑的字体一般路径,可以换成别的
 font_path="C:/Windows/Fonts/SIMLI.TTF",
 #设置了背景,宽高
 background_color="white",width=1000,height=880).generate(cut_text)

plt.imshow(wordcloud, interpolation="bilinear")
plt.axis("off")
plt.show()

改进孙悟空形状的西游记人物词云:

赞!python 生成词云详细教程-最简单的中文词云生成代码

西游记人物词云文本下载

from PIL import Image
from wordcloud import WordCloud, ImageColorGenerator
import matplotlib.pyplot as plt
import numpy as np
import jieba


path_txt='d://西游.txt'
path_img = "d://孙悟空.jpg"
f = open(path_txt, 'r', encoding='UTF-8').read()
background_image = np.array(Image.open(path_img))
 # 结巴分词,生成字符串,如果不通过分词,无法直接生成正确的中文词云,感兴趣的朋友可以去查一下,有多种分词模式
 # Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
cut_text = " ".join(jieba.cut(f))

wordcloud = WordCloud(
  # 设置字体,不然会出现口字乱码,文字的路径是电脑的字体一般路径,可以换成别的
  font_path="C:/Windows/Fonts/SIMLI.TTF",
  background_color="white",
  # mask参数=图片背景,必须要写上,另外有mask参数再设定宽高是无效的
  mask=background_image).generate(cut_text)
 # 生成颜色值
image_colors = ImageColorGenerator(background_image)
 # 下面代码表示显示图片
plt.imshow(wordcloud.recolor(color_func=image_colors), interpolation="bilinear")
plt.axis("off")
plt.show()

赞!python 生成词云详细教程-最简单的中文词云生成代码

 

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/12038.html

(9)
江山如画的头像江山如画管理团队
python 初学者练手上机实操五-循环语句练习
上一篇 2023年5月26日 上午7:22
人工智能基础测试
下一篇 2023年6月2日 上午7:51

99%的人还看了以下文章

  • 中文分词-逆向最大匹配法 “SyntaxWarning: “is“ with a literal. Did you mean “==“?”

    def cutB(sentence,dictB): result = [] sentenceLen = len(sentence) maxDictB = max([len(word) for word in dictB]) while sentenceLen > 0: word = ” for i in range(maxDictB, 0, -1):…

    2023年10月3日
    5.5K0
  • 10秒倒计时、考试结束倒计时功能实现代码-JS

    注册成功或登录后网页会有倒计时,如5秒后跳转到哪个页面的功能。 在做一些在线测试,网上考试系统时,会用到倒计时功能。 如网上考试系统里,会有时间提示离考试结束还有多长时间,临近考试结束剩10分钟,还可以弹窗提示考生。 JavaScript实现倒计时功能代码 <!DOCTYPE html> <html> <head> &lt…

    2020年11月1日
    4.9K0
  • 什么是单元测试,单元测试快速入门教程一

    单元测试概述 单元测试是在软件开发过程中要进行的最低级别的测试活动或者说是针对软件设计的最小单位—程序模块(程序中定义的函数、子程序、类或方法),进行正确性检验的测试工作,目的在于发现每个程序模块内部可能存在的差错或缺陷。 在单元测试活动中,软件的独立单元将在与程序的其它部分相隔离的情况下进行测试,主要工作分人工静态检查(静态测试)和动态执行跟踪(动态测试)…

    2018年4月16日
    8.6K0
  • js中var a=b=1和var a=1,b=1的区别

    js中一次性定义多个变量的时候,可以用:var a=1,b=1这种中间用逗号隔开的方式,但有些时候为了省事,直接定义var a=b=1。 那这两种写法方式最后效果是一样的吗?有没有什么区别呢?请大家看下面的范例: 1、用var a=b=1的方式 由上图可以明显看出来,变量b的作用域已经是全局的了,因为在函数外可以调用到(可以正常的输出变量)。 2、用var …

    2022年3月19日
    6.1K0
  • 第二章 Web技术简介

    1. 掌握HTML 5标记语言
    2. 掌握CSS样式表的使用
    3. 掌握JavaScript脚本语言
    4. 能够使用HTML5+CSS+JS 进行web页面设计

    2018年2月2日
    22.0K0
  • String、StringBuffer、StringBuilder的区别?

    String在实例化之后,其内存空间的内容大小是不能够被修改的;而StringBuffer是一个线程安全的可变字符序列,在实例化之后可以动态的修改堆内存中的内容,所以内存长度和大小是可变的;StringBuilder实例化之后内存大小长度也是可变的,不同之处在于StringBuilder不是线程同步,因此操作起来必然比StringBuffer更加高效。

    2018年10月24日
    3.0K0

发表回复

登录后才能评论

评论列表(2条)

  • 江山如画的头像
    江山如画 2023年6月9日 上午10:01

    import matplotlib ImportError: DLL load failed 问题及解决方法
    打开https://www.lfd.uci.edu/~gohlke/pythonlibs/#scikit-learn
    找到相应版本的numpy-1.21.6+mkl-cp37-cp37m-win32.whl 下载
    进入命令行:开始输入cmd 回车进入 文件下载目录 如cd d://
    pip install numpy-1.21.6+mkl-cp37-cp37m-win32.whl
    安装成功即可。

  • 江山如画的头像
    江山如画 2023年6月2日 上午7:41

    输入python显示不是内部命令的原因及解决方法 http://www.125jz.com/12001.html
    简!python中安装pip的方法 http://www.125jz.com/11997.html