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

  • 单元测试工具JUnit介绍及使用,单元测试快速入门教程五

    JUnit是一个开放源代码的测试框架,用在编写和运行可重复的测试脚本之上,是用于Java语言编写的面向对象程序的单元测试工具。JUnit框架功能强大,目前已经成为Java单元测试的事实标准,基本上能满足日常的测试要求。 1.Junit主要特性 (1)可以将测试代码和产品代码分别开发,便于管理。 (2)针对某一个类的测试代码,以较少的改动便可以应用    另一…

    2018年4月18日 编程开发
    10.8K0
  • Myeclipse设置JSP视图和代码显示在同一个窗口

    Myeclipse开发时,想同时查看页面及代码视图,如上图,而默认只能看到代码。 Myeclipse设置JSP页面和代码显示在同一个窗口的方法有两种。 一、在JSP页面上右击-open with-other… 在弹出的Editor selection窗口中选择web page editor,就可以了。 二、选择 window-preferences,如下图,…

    2018年12月17日 编程开发
    5.3K0
  • 第3课:C语言程序的构成和书写规则

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

    2020年4月5日
    10.6K0
  • Vim编辑器常用命令大全

    编辑和保存文件 vim filename为编辑一个文件,若此文件不存在,则Vim会以filename为名创建这个文件。 启动Vim时自动处于命令模式,按I键可以进入插入模式,这个命令用于在当前光标所在处插入字符。 保存和退出 命令 操作 :w 保存文件 :w filename 另存为filename :q 退出Vim :q! 强制退出Vim,用于放弃保存修改…

    2022年9月22日
    1.9K0
  • String、StringBuffer、StringBuilder的区别?

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

    2018年10月24日
    2.7K0
  • python 函数,字典,列表使用综合实例(经典)

    现有一字典: dict1 = {’01’: [67, 88, 45], ’02’: [97, 68, 85], ’03’: [97, 98, 95], ’04’: [67, 68, 45], } 存放着学生的学号和成绩。成绩列表中的3个数据分别是学生的语文、数学、英语成绩。 要求: 1.编写函数,返回每门成绩均大于等于85的学生的学号。 dict1 = {‘…

    2020年1月31日
    12.7K0

发表回复

登录后才能评论

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