赞!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%的人还看了以下文章

  • JS截取字符串方法详解:前面/中间/后面

    JS截取字符串方法,JS的match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。 js截取字符串中间的内容 var str = “aaabbbcccdddeeefff”; str = str.match(/aaa(\S*)fff/)[1]; alert(str);//结果bbbcccdddeee js截取某个字符串前面的内容 var…

    2023年1月5日
    9.2K0
  • Java Vector可实现自动增长的对象数组

    java.util.vector提供了向量类(Vector)以实现类似动态数组的功能。创建了一个向量类的对象后,可以往其中随意插入不同类的对象,即不需顾及类型也不需预先选定向量的容量,并可以方便地进行查找。 对于预先不知或者不愿预先定义数组大小,并且需要频繁地进行查找,插入,删除工作的情况,可以考虑使用向量类。 向量类提供了三种构造方法: public ve…

    2020年8月20日
    6.2K0
  • python 初学者练手上机实操六-变量的定义及输入输出

    一、题目:打印诗“悯农” 要求: 1、新建一个“悯农.py” 2、编写程序。 3、调试程序。 4、排除错误。 二、题目:键盘输入三角形的三边,求三角形的周长。 1、新建一个triangle.py文件 2、编写程序。 3、调试程序。 4、排除错误。 三、定义三个变量分别存储你的姓名、班级、年龄并输出。 要求: 1、新建一个“info.py”文件 2、编写程序。…

    2023年6月15日
    7.8K0
  • java实现上位机与下位机串口通信实例(含java串口通信jar包下载及代码)

    java实现上位机与下位机串口通信实例(含java串口通信jar包下载及代码)java实现上位机与下位机串口通信实例(含java串口通信jar包下载及代码)java实现上位机与下位机串口通信实例(含java串口通信jar包下载及代码)java实现上位机与下位机串口通信实例(含java串口通信jar包下载及代码)

      串口通信在工程应用中很常见。 上位机与下位机 在上位机与下位机通讯过程中常通过有线的串口进行通信,在低速传输模式下串口通信得到广泛使用。 通常上位机指的是PC,下位机指的是单片机或者带微处理器的系统。下位机一般是将模拟信号经过AD采集将模拟量转换为数字量,下位机再经过数字信号处理以后将数字信号通过串口发送到上位机,相反上位机可以给下位机发送一些指令或者信…

    2023年1月7日 编程开发
    7.0K0
  • 已知列表[1,2,3,4,5],让列表的每个元素加1,把结果不能被2整除的元素筛选出来

    list1=[1,2,3,4,5] func=lambda x:x+1 r=map(func,list1) def odd(n): return n%2!=0 result=filter(odd,list(r)) list(result) 知识点一:Python map() 函数 map() 会根据提供的函数对指定序列做映射。 第一个参数 function …

    2022年7月18日
    1.7K0
  • JSP页面使用Servlet制作图形验证码

    本文给大家分享的是JSP验证码的制作,通过Servlet生成图形验证码,调用非常方便,希望对大家有所帮助。

    2022年12月1日
    2.1K0

发表回复

登录后才能评论

评论列表(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