赞!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)
江山如画的头像江山如画管理团队
上一篇 2023年5月26日 上午7:22
下一篇 2023年6月2日 上午7:51

99%的人还看了以下文章

  • 单元测试步骤、单元测试策略,单元测试快速入门教程三

    工作性质不同决定了工作侧重点也不同,因此程序开发人员在单元测试过程中关注更多的是程序代码本身和已经实现的功能。因此,站在他们的角度看,单元测试的过程就是在编写测试方法之前: 首先考虑如何对方法进行测试; 然后编写测试代码; 下一步就是运行某个测试,或者同时运行该单元的所有测试,确保所有测试都通过。 下图从宏观的角度概括了单元测试的工作过程图。 1.单元测试进…

    2018年4月18日
    7.3K0
  • python 初学者练手上机实操五-循环语句练习

    一、题目:定义一个名称为numList的列表[1,5,9,8,12,43],使用for循环 遍历该列表,输出包含的元素 1、新建一个“for.py”文件。 2、编写程序。 3、调试程序。 4、排除错误。 二、、题目:定义一个名称为numTuple的元级(1,5,9,8,12,43),使用for循环 遍历该元组,输出包含的元素 三、分别使用for循环和whil…

    2023年5月26日
    13.1K1
  • Ubantu为非标准应用程序添加桌面图标的操作方法

    本文主要指的是第三方或自己编写的非标准应用程序 需要编写.desktop文件。 主要步骤如下:1、进入/usr/share/applications目录,建立一个空白的文本文件,文件要以.desktop作为扩展名。 命令行进入/usr/share/applications cd /usr/share/applications 2、在文件写入启动自己应用的相应…

    2022年9月1日
    5.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日
    4.9K0
  • 推荐!一个通用的javaBean很方便的实现连接数据库、查询、插入、修改功能

    这是一个通用的javaBean,能够很方便的实现连接数据库、查询、插入、修改功能。、 package com.common; import java.sql.*; public class DataBaseConn { public Connection conn = null; public void createConn(){ String DRIVER…

    2020年12月6日
    3.0K0
  • 第3课:C语言程序的构成和书写规则

    先来看一个C语言程序:输入两个正整数,计算并输出两数的和。 程序代码: /*ex1_2.c:求两个正整数的和*/ #include <stdio.h> void main()                         /*主函数*/ {     int a,b,sum;                    /*定义三个整型变量*/    …

    2020年4月5日
    10.2K0

发表回复

登录后才能评论

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