精华内容
下载资源
问答
  • python生成词云图代码
    2022-08-11 16:14:48

    目录

    前言

    一、使用步骤

    1.下载所需库

    2.引入库

    3.打开文本

    4.分词

    5.生成词云图

    6.保存文件

    总结


    前言

            词云图是一种为了文本数据的视觉表示,由词汇组成类似云的彩色图形,当需要统计文本中出现词汇的规模大小时,我们可以使用此类图形。本文将介绍如何用python代码制作词云图。


    一、使用步骤

    1.下载所需库

    在cmd命令提示符中输入下载命令:

    pip install wordcloud

    2.引入库

    引入所需库:jieba、matplotlib、wordcloud。

    代码如下:

    import jieba
    import matplotlib.pyplot as plt
    from wordcloud import WordCloud

    3.打开文本

    代码如下:

    text = open("D:/++/宏观经济和资产配置.txt", encoding="utf-8").read()  # 标明文本路径,打开

    4.分词

    利用jieba进行分词形成列表,将列表里面的词用空格分开并拼成长字符串。

    代码如下:

    text = ' '.join(jieba.cut(text))

    5.生成词云图

    生成对象需设置字体(查找自己的中文字体路径:C:\Windows\Fonts\Microsoft YaHei UI\msyh.ttc)、图片大小、背景颜色。

    代码如下:

    # 生成对象
    wc = WordCloud(font_path = "C:\Windows\Fonts\Microsoft YaHei UI\msyh.ttc",width=500, height=400, mode="RGBA", background_color=None).generate(text)
    # 显示词云图
    plt.imshow(wc, interpolation="bilinear")
    plt.axis("off")
    plt.show()

    6.保存文件

    设置图片保存路径,保存图片。

    代码如下:

    #保存文件
    wc.to_file("C:/Users/xiao/Desktop/ciyun1.png")

    全部代码如下:

    import jieba
    import matplotlib.pyplot as plt
    from wordcloud import WordCloud
    
    text = open("D:/++/宏观经济和资产配置.txt", encoding="utf-8").read()  # 标明文本路径,打开
    
    # 生成对象
    wc = WordCloud(font_path = "C:\Windows\Fonts\Microsoft YaHei UI\msyh.ttc",width=500, height=400, mode="RGBA", background_color=None).generate(text)
    # 显示词云图
    plt.imshow(wc, interpolation="bilinear")
    plt.axis("off")
    plt.show()
    
    #保存文件
    wc.to_file("C:/Users/xiao/Desktop/ciyun1.png")

    生成结果如下:

    总结

            以上就是今天要讲的内容,本文介绍了用python代码制作词云图的全部过程,希望能给读者带来一些帮助。

    更多相关内容
  • python生成词云图

    2020-12-21 11:45:53
    需要使用python的第三方类库jieba、matplotlib、wordcloud,如果没有请用pip安装。 代码实现 import jieba import matplotlib.pyplot as plt #相当于c的宏定义 from wordcloud import WordCloud,STOPWORDS text="" f...
  • 这篇文章主要介绍了python根据文本生成词云图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 效果 代码 from wordcloud import WordCloud import ...
  • 主要介绍了Python制作词云图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 一、安装 wordcloud pip install wordcloud 二、加载包、设置路径 import os from wordcloud import WordCloud ...wc.generate(text) # 根据文本生成词云图 plt.imshow(wc) # 显示词云图 如果 jupyter
  • wordcloud原理介绍及详细参数解释,实践代码参考

    一、词云简介

    词云,也称为文本云或标签云。在词云图片中,关键词在文本中出现的次数越多,则表示该词越重要,其在词云中所占面积区域也越大,出现次数越少,所占面积越小。词云可任意更换背景为白色的图形以改变词云形状。

    二、WordCloud原理简介

    wordcloud的原理比较好理解,大致为:

    1. 首先对文本数据进行分词,使用process_text()方法
    2. 接着计算每个词在文本中的出现频率,生成一个字典。词频用于确定一个词的重要性,即词云文件中词语的显示大小。
    3. 然后根据词频的数值按比例生成一个图片的布局,类IntegralOccupancyMap 是该词云的数据可视化方式的核心。生成词的颜色、位置、方向等。
    4. 最后将词按对应的词频在词云画布上生成图片,核心方法是generate_from_frequencies,不论是generate()还是generate_from_text()都最终用到generate_from_frequencies
    5. 完成词云上各词的着色,默认是随机着色,通过调用to_file()完成词云文件的保存。

    参考:https://www.cnblogs.com/jasonhaven/p/7596799.html?ivk_sa=1024320u

    三、WordCloud参数

    font_path字体路径string,如font_path='msyh.ttc'
    mask绘制的词云形状nd-array/None,default=None,如果参数为空,则使用二维遮罩绘制词云。如果 mask 非空,设置的宽高值将被忽略,遮罩形状被mask取代。全白(#FFFFFF)的部分将不会绘制,其余部分会用于绘制词云。
    width画布宽度int,default=400
    height画布高度int,default=200
    background_color背景颜色default="black",如background_color='white',背景颜色为白色
    max_words词的最大个数number,default=200
    stopwords需要过滤掉的词如果为空,则使用内置的stopwords
    prefer_horizontal单词水平方向排版出现频率float,default=0.9,则词语垂直方向排版出现频率为 0.1
    scale按照比例进行放大画布float,default=1,如设置为1.5,则长和宽都是原来画布的1.5倍
    min_font_size显示最小字体大小default=4
    max_font_size显示最大字体大小int/None,default=None
    font_step字体大小迭代步长int,default=1,若步长大于1,会加快运算但是可能导致结果出现较大的误差
    mode背景string,default="RGB",当参数为"RGBA"并且background_color为None时,背景为透明
    relative_scaling单词频率对其字体大小的权重float,一般设置为0.5
    color_func颜色函数default=None
    regexp使用正则表达式分隔输入的文本string or None (optional),默认为 r"\w[\w']+"
    random_state每个单词返回一个PIL颜色
    collocations是否包括二元词组bool, default=True
    colormap对每个词随机分配颜色default="viridis",若指定color_func,则忽略该方法
    normalize_plurals移除单词末尾的's'bool,default=True

    四、使用步骤

    安装相应的第三方库:

    pip install wordcloud
    
    pip install jieba
    
    pip install matplotlib
    

    因为wordcloud里的process_text函数是针对英文进行分词的,无法对中文更好地分词,只在各种标点符号中切分中文,显然这并不是我们想要的效果,所以我们若要生成中文的词云,需要先对中文文本进行分词再调用相应的函数。 分词操作: 通过jieba分词,用空格拼接词语字符串,process_text函数就能返回正确的分词计数的字典。

    五、python代码

    1、基础词云,参考代码如下:

    import jieba
    from wordcloud import WordCloud
    import matplotlib.pyplot as plt
    
    text = '用python制作词云,生成词云图片,只用10行python代码生成词云'
    cut_word = " ".join(jieba.cut(text))
    
    wc = WordCloud(font_path = r'/msyh.ttc')
    wc.generate(cut_word)
    
    plt.imshow(wc)
    plt.axis("off") # 不显示坐标轴
    plt.show()
    

    词云展示:

    备注:增加停用词处理,效果会更好,可参考以下形状词云代码。

    2、形状词云,参考代码如下:

    import jieba
    from wordcloud import WordCloud
    import matplotlib.pyplot as plt
    import numpy as np
    from PIL import Image
    
    
    # 读取文本
    with open("./data/sentences.txt",encoding="utf-8") as f:
    sentence = f.read()
    print(sentence)
    sentence_cut = jieba.lcut(sentence) # 生成分词列表
    text = ' '.join(sentence_cut) # 以空格连接字符串
    
    #获取停用词 去掉不需要显示的词
    stopwords_path = 'data/stopwords.txt'
    stopwords = [line.strip() for line in open(stopwords_path,'r',encoding='utf-8').readlines()]
    
    # 读入背景图片
    img = Image.open("./monkey2.jpg") # 打开遮罩图片
    mask = np.array(img) #将图片转换为数组
    
    wc = WordCloud(font_path="msyh.ttc",
       mask=mask,
       width = 1000,
       height = 700,
       background_color='white',
       max_words=200,
       stopwords=sentence).generate(text)
    
    # 以下代码显示图片
    plt.imshow(wc, interpolation='bilinear')# 用plt显示图片
    plt.axis("off") # 不显示坐标轴
    plt.show()
    # wc.to_file("wordcloud2.png") # 保存为本地图片
    

    注意:调用generate和generate_from_text两种方法一样,最终都是会调用generate_from_text方法。

    使用的形状原图:

    ​​​​​​​

    词云生成结果:

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
    本文链接:https://blog.csdn.net/kerry_55/article/details/122090231

    展开全文
  • 本篇文章小编给大家分享一下python实现词云图代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。代码如下:import matplotlib.pyplot as pltimport jieba...

    python如何实现词云图?本篇文章小编给大家分享一下python实现词云图代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

    代码如下:

    import matplotlib.pyplot as plt

    import jieba

    from Wordcloud import wordcloud

    # 1.读出词语

    text = open('text/test.txt', 'r', encoding='utf-8').read()

    print(text)

    # 2.把歌词剪开

    cut_text = jieba.cut(text)

    # print(type(cut_text))

    # print(next(cut_text))

    # print(next(cut_text))

    # 3.以空格拼接起来

    result = " ".join(cut_text)

    # print(result)

    # 4.生成词云

    wc = wordcloud.WordCloud(

    font_path='font/王漢宗勘亭流繁.ttf', # 字体路劲

    background_color='white', # 背景颜色

    width=1000,

    height=600,

    max_font_size=50, # 字体大小

    min_font_size=10,

    mask=plt.imread('images/xin.jpg'), # 背景图片

    max_words=1000

    )

    wc.generate(result)

    wc.to_file('images/jielun.png') # 图片保存

    # 5.显示图片

    plt.figure('images/jielun') # 图片显示的名字

    plt.imshow(wc)

    plt.axis('off') # 关闭坐标

    plt.show()

    font下的字体随便引入一个字体进去就好了,plt.imread里的图片就是你希望词云图最后按照哪个形状来粉笔,这里选择的是一段云的照片,test.txt里的就是一些词语内容

    外向 善良 开朗 活泼 好动 轻松 愉快 热情 可亲 豁达 稳重 幽默 真诚 豪爽 耿直 成熟 独立

    果断 健谈 机敏 深沉 坚强 兴奋 热情 率直 毅力 友爱 风趣 沉静 谨慎 忠诚 友善 严肃 忠心

    乐观 坦率 勇敢 自信 自立 沉著 执著 容忍 体贴 满足 积极 有趣 知足 勤劳 和气 无畏 务实

    轻浮 冲动 幼稚 自私 依赖 任性 自负 拜金 暴躁 倔强 虚伪 孤僻 刻薄 武断

    浮躁 莽撞 易怒 轻率 善变 狡猾 易怒 多疑 懒惰 专横 顽固 猜疑 挑衅 冷漠

    虚荣 冷淡 反覆 跋扈 自负 逆反 怨恨 鲁莽 放任 贫乏 固执

    内向 脆弱 自卑 害羞 敏感 迟钝 柔弱 畏缩 顺从 胆小 安静 寡言 保守 被动 忍让

    抑郁 谨慎 胆怯 温和 老实 平和 顺服 含蓄 迁就 羞涩 忸怩 缓慢 乏味 散漫

    迟缓 罗嗦 耐性 悲观 消极 拖延 烦躁 妥协 唠叨

    好交际 善组织 有韧性 可依赖 规范型 好心肠 善交际 无异议 竞争性 自控性 受尊重

    激励性 重秩序 有条理 聆听者 无拘束 领导者 受欢迎

    神经质 糊涂虫 有惰性 易兴奋 好批评 不专注 好争吵 无目标 不宽恕 无热忱 易激动

    难预测 不合群 不灵活 喜操纵 情绪化 大嗓门 统治欲 强迫性 好表现

    适应能力强 工作有效率 能克服困难 办事认真细心 严守秩序有条理 善于体察别人 常为小事而动感情

    完美主义者 轻率不踏实 易见异思迁 易轻率作决定 语言动作迟缓 不易暴露内心活动

    执拗不灵活 适应能力差 显得落落寡合 不圆滑老练 不善言谈交际

    效果图如下

    展开全文
  • 使用现有的txt文本和图片,就可以用wordcloud包生成词云图。大致步骤是: 1、读取txt文本并简单处理; 2、读取图片,以用作背景; 3、生成词云对象,保存为文件。 需要用到3个库:jieba(用于分割文本为词语)、...
  • 使用wordcloud模块,生成云图,测试文本为: Betty Botter bought some butter but she said the butter’s bitter. If I put it in my batter it will make my batter bitter. So, she bought some better butter,...
  • python制作词云图

    千次阅读 2022-01-25 13:53:41
    一、相关库及函数 ...1、生成词云对象 classwordcloud.WordCloud(font_path=None,width=400,height=200,margin=2,ranks_only=None,prefer_horizontal=0.9,mask=None,scale=1,color_func=None...

    一、相关库及函数

    pip install wordcloud    文档:wordcloud.WordCloud — wordcloud 1.8.1 documentation

    1、生成词云对象

    class wordcloud.WordCloud(font_path=Nonewidth=400height=200margin=2ranks_only=Noneprefer_horizontal=0.9mask=Nonescale=1color_func=Nonemax_words=200min_font_size=4stopwords=Nonerandom_state=Nonebackground_color='black'max_font_size=Nonefont_step=1mode='RGB'relative_scaling='auto'regexp=Nonecollocations=Truecolormap=Nonenormalize_plurals=Truecontour_width=0contour_color='black'repeat=Falseinclude_numbers=Falsemin_word_length=0collocation_threshold=30)

    font_path: 通过选择字体路径指定分词的字体,windows字体路径:C:\Windows\Fonts。

    将字体路径粘贴过去就可以

    2、生成词云图

     fit_words(frequencies)   # 根据词频生成词云图

    wordcloud = WordCloud(font_path = "C:\Windows\Fonts\STLITI.TTF").fit_words({'人':5,'我们':8,'哈哈':1, '早上好':100})

     

     generate(text)   # 根据文本生成词云图, 如下简单词云即是
     

    pip install jieba     git地址:GitHub - fxsjy/jieba: 结巴中文分词

    “结巴”是比较好用的中文分词组件,支持精确模式、全模式、搜索引擎模式及paddle模式

    def cut(self, sentence, cut_all=False, HMM=True, use_paddle=False)

    1、jieba.lcut:传入需要分词文本,以list结构返回分词的结果。可以通过传参指定是否使用全模式,是否使用HMM模式,是否使用paddle模式。

    二、词云

    1、简单词云

    import jieba
    from wordcloud import WordCloud
    txt = '弱小的人才习惯嘲讽和否定而内心强大的人从不吝啬赞美和鼓励我们就是后浪奔涌吧后浪奔涌吧'
    words = jieba.lcut(txt)     #精确分词
    newtxt = ' '.join(words)    #空格拼接
    wordcloud = WordCloud(font_path =  "C:\Windows\Fonts\STLITI.TTF").generate(newtxt)
    wordcloud.to_file('中文词云图.jpg')

    2、生成指定形状的词云

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    """
    Masked wordcloud
    ================
    
    Using a mask you can generate wordclouds in arbitrary shapes.
    """
    
    from os import path
    from PIL import Image
    import numpy as np
    import matplotlib.pyplot as plt
    import os
    
    from wordcloud import WordCloud, STOPWORDS
    
    # get data directory (using getcwd() is needed to support running example in generated IPython notebook)
    d = path.dirname(__file__) if "__file__" in locals() else os.getcwd()
    
    # Read the whole text.
    text = open(path.join(d, 'alice.txt'),encoding='UTF-8').read()
    
    # read the mask image
    # taken from
    # http://www.stencilry.org/stencils/movies/alice%20in%20wonderland/255fk.jpg
    alice_mask = np.array(Image.open(path.join(d, "alice_mask.png")))
    
    stopwords = set(STOPWORDS)
    stopwords.add("said")
    
    wc = WordCloud(background_color="white", max_words=2000, mask=alice_mask,
                   stopwords=stopwords, contour_width=3, contour_color='steelblue')
    
    # generate word cloud
    wc.generate(text)
    
    # store to file
    wc.to_file(path.join(d, "alice.png"))
    
    # show
    plt.imshow(wc, interpolation='bilinear')
    plt.axis("off")
    plt.figure()
    plt.imshow(alice_mask, cmap=plt.cm.gray, interpolation='bilinear')
    plt.axis("off")
    plt.show()
    

     

    更多示例见:Gallery of Examples — wordcloud 1.8.1 documentation 

    参考文章:​​​​​​python制作词云图_moshanghuali的博客-CSDN博客_python词云图

    展开全文
  • 闲话不多说,直接上干货!...在命令行输入 pip install jieba回车,安装jieba包。安装wordcloud包同jieba一样,也可以使用pip install wordcloud安装,但是安装...python常用whl文件的下载地址:https://www.lfd.uci.e...
  • python词云图制作

    2022-07-08 13:02:30
    优美词云图制作
  • python生成词云,不报错但也不显示相应的词云图片
  • 词云的作用已不必多说,也有许多不同版本生成词云的方法,但有时候调整图片细节能把人给调得脚趾头不自觉的瞉起。所以为何不直接将其封装进一个函数中,将各种绘制参数都事先准备好,尽可能一了百了呢?说干就干,看...
  • Python生成词云图

    千次阅读 2021-04-27 03:27:15
    代码如下:from os import pathfrom wordcloud import WordCloudimport matplotlibmatplotlib.use('TkAgg')# 获取目录地址,读取文本d = path.dirname(__file__)text = open(path.join(d, 'haha.txt')).read()# 生成...
  • 拿来就用能的Python词云图代码|wordcloud生成词云详解 词云也叫文字云,是一种可视化的结果呈现,常用在爬虫数据分析中,原理就是统计文本中高频出现的词,过滤掉某些干扰词,将结果生成一张图片,直观的获取数据的...
  • 基于以上几个问题,迪迪觉得有必要写一篇Python绘制词云图的文章,因为实在太简单!没有任何编程基础的小白都能搞定的事,还找什么工具啊! OK,FINE。咱不废话,直接实操。项目实操一一般词云绘制 制作词云图首先...
  • 主要介绍了Python实现Wordcloud生成词云图的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 使用Python绘制词云图片

    千次阅读 2021-01-27 21:27:36
    使用Python绘制词云图片过程如下: 在官网下载一个Python的安装包。首先,查看自己电脑是32位还是64位。针对不同的电脑选择不同的版本。 64位地址为:...
  • 词云图中出现的条状物错误

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,259
精华内容 2,503
热门标签
关键字:

python生成词云图代码