精华内容
下载资源
问答
  • 用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生成词云图.pdf

    2021-06-28 17:41:42
    用Python生成词云图.pdf
  • 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做词云图

    2020-11-20 15:40:34
    用python做词云图 1、修改路径 首先修改路径为自己存放数据的地方,比如我就放在 D:/Program Files (x86)/jupyter/。 route = os.getcwd() print(route) os.chdir(r'D:/Program Files (x86)/jupyter/') route = os....

    用python做词云图

    1、修改路径

    首先修改路径为自己存放数据的地方,比如我就放在 D:/Program Files (x86)/jupyter/

    route = os.getcwd()
    print(route)
    os.chdir(r'D:/Program Files (x86)/jupyter/')
    route = os.getcwd()
    print(route)
    

    2、读取数据

    然后是读取数据,自己创建的有文字的数据文件,我弄了一个data1.csv

    f = open("data1.csv","r",encoding='gb18030')
    text = f.read()
    print(text)
    print(type(text))
    
    e = open("data1.csv","r",encoding='gb18030')
    stop_words = e.read()
    print(stop_words)
    print(type(stop_words))
    

    3、定义背景图像

    background = Image.open("xinxing.jpg")
    graph = np.array(background)
    

    4、核心代码区域

    word_cloud = WordCloud(font_path="simsun.ttc",background_color="white",stopwords=stop_words,mask=graph)
    w = word_cloud.generate(text)
    

    5、运用matplotlib展现结果

    plt.subplots(figsize=(12,8))
    plt.imshow(w)
    plt.axis("off")
    plt.show()
    

    6、对数据通过JIEBA进行分词和统计,可以使用fit_words来生成,第二套方案

    words = jieba.lcut(text) #精简模式
    print(words)
    print(type(words))
    list_count =[]
    for i in range(0,len(words),1):
        list_count.append(i)
    for i in range(0,len(list_count),1):
        list_count[i] =1
    c ={"keyword":words,"number":list_count}
    data=DataFrame(c)
    keyword = pd.pivot_table(data,index=["keyword"],columns=None,values="number",aggfunc=np.sum,margins=False)
    keyword.reset_index(level=0,inplace=True)
    keyword = keyword.sort_values(by="number",ascending=False) #根据车队编号和货物组合进行排序
    print(keyword)
    
    writer = pd.ExcelWriter("词云结果数据集.xlsx")
    keyword.to_excel(writer,sheet_name="DATA",index=False) #,endoding="utf_8_sig"
    writer.save()
    

    7、计算程序运行消耗的时间

    print("Running Time: %s Seconds" %time.perf_counter())
    print("Well Done!")
    

    8、运行结果

    最终的图片,大功告成

    9、完整代码

    from pandas.core.frame import DataFrame
    from wordcloud import WordCloud
    import matplotlib.pyplot as plt
    from PIL import Image
    import pandas as pd
    import numpy as np
    from os import path
    import os,sys
    import jieba
    import time
    import re
    
    #修改路径
    route = os.getcwd()
    print(route)
    os.chdir(r'D:/Program Files (x86)/jupyter/')
    route = os.getcwd()
    print(route)
    
    #读取数据
    f = open("data1.csv","r",encoding='gb18030')
    text = f.read()
    print(text)
    print(type(text))
    
    e = open("data1.csv","r",encoding='gb18030')
    stop_words = e.read()
    print(stop_words)
    print(type(stop_words))
    
    #定义背景图像
    background = Image.open("xinxing.jpg")
    graph = np.array(background)
    
    #核心代码区域
    word_cloud = WordCloud(font_path="simsun.ttc",background_color="white",stopwords=stop_words,mask=graph)
    w = word_cloud.generate(text)
    
    # 运用matplotlib展现结果
    plt.subplots(figsize=(12,8))
    plt.imshow(w)
    plt.axis("off")
    plt.show()
    
    #对数据通过JIEBA进行分词和统计,可以使用fit_words来生成,第二套方案
    words = jieba.lcut(text) #精简模式
    print(words)
    print(type(words))
    list_count =[]
    for i in range(0,len(words),1):
        list_count.append(i)
    for i in range(0,len(list_count),1):
        list_count[i] =1
    c ={"keyword":words,"number":list_count}
    data=DataFrame(c)
    keyword = pd.pivot_table(data,index=["keyword"],columns=None,values="number",aggfunc=np.sum,margins=False)
    keyword.reset_index(level=0,inplace=True)
    keyword = keyword.sort_values(by="number",ascending=False) #根据车队编号和货物组合进行排序
    print(keyword)
    
    writer = pd.ExcelWriter("词云结果数据集.xlsx")
    keyword.to_excel(writer,sheet_name="DATA",index=False) #,endoding="utf_8_sig"
    writer.save()
    
    #计算程序运行消耗的时间
    print("Running Time: %s Seconds" %time.perf_counter())
    print("Well Done!")
    
    展开全文
  • Python制作词云图代码

    2020-03-09 15:37:30
    本代码由Python编写,主要实现统计文本文档中的高频词汇并进行词云图展示。该案例以《三国演艺》为例,主要展示出现频率极高的人物名称,对无关词汇进行简要筛选。
  • 主要介绍了Python制作词云图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 三、词云图示例 1、默认参数示例 text = 'Keep it simple and stupid.' wc = WordCloud() # 实例化词云图对象 wc.generate(text) # 根据文本生成词云图 plt.imshow(wc) # 显示词云图 如果 jupyter
  • python词云图制作

    2022-07-08 13:02:30
    优美词云图制作

    词云图制作 python

    练了一段时间的词云图,就来和大家讲讲词云图制作的详细过程。

    效果图

    在这里插入图片描述

    工具准备

    • 1、python3
    • 2、安装第三方库wordcloud
    • 3、安装numpy、pillow库。
    • 4、安装jieba库
    • 5、安装matplotlib库
    from wordcloud import WordCloud
    import numpy as np
    from PIL import Image
    from matplotlib import colors
    import collections
    #这些都是需要使用的库
    

    安装方法:我大多是借助pycharm中的setting直接安装。但是也有安装失败的,大家可以自行“c一下”

    代码展示

    # -*- coding: utf-8 -*-
    import jieba
    from wordcloud import WordCloud
    import numpy as np
    from PIL import Image
    from matplotlib import colors
    import collections
    
    
    def chinese_jieba():
        # 读取目标文本
        with open(r'文本.txt', encoding='utf-8') as fp:
            txt = fp.read()
            fp.close()
        wordlist_jieba = jieba.lcut(txt) # 将文本分割,返回列表
        txt_jieba = " ".join(wordlist_jieba) # 将列表拼接为以空格为间断的字符串
        return txt_jieba
        
    def stopwords_read():
        # 读取停用词,也可自己根据需求写入
        stopwords_ = ['里', '拍']
        with open('chinesestopwords.txt', 'r', encoding='utf-8') as f:
            for line in f:
                if len(line) > 0:
                    stopwords_.append(line.strip())
        return stopwords_
        
    
    def wordcloud_generate():
        stopwords_ = stopwords_read()#读取停用词
        txt = chinese_jieba()#读取文本
        background_image = np.array(Image.open('椭圆背景.jpg'))#自定义背景轮廓
        colormaps = colors.ListedColormap(['#871A84', '#BC0F6A', '#BC0F60', '#CC5F6A', '#AC1F4A'])  # 自定义字体色,该系列是蓝紫色
        wordcloud = WordCloud(font_path='simhei.ttf',  # 字体
                                  prefer_horizontal=0.99,#大部分都是横向排放
                                  background_color='white',  # 背景色
                                  max_words=100,  # 显示单词数
                                  max_font_size=400,  #最大字号
                                  stopwords=stopwords_,  # 过滤噪声词
                                  mask=background_image,#背景轮廓
                                  colormap=colormaps,#使用自定义颜色
                                  collocations=False
                                  ).generate(txt)
        image = wordcloud.to_image()
        image.show()  # 展示图片
        wordcloud.to_file('词云图.jpg')  # 保存图片
    
    if __name__ == '__main__':
        wordcloud_generate()
    
    
    以上代码可直接运行
    生成的图片可以去存放这个代码的文件夹下寻找
    

    代码分析

    1. 基本运行条件:
      首先是各种库都安装完毕;
      其次将代码、目标文本、停用词文本、字体、背景图存放在同一个文件夹下(如果不存放在同一个文件夹下,就需要将代码中的资源引用路径改为绝对路径)如图:
      在这里插入图片描述

    2. 文本
      文本我是存储在txt文件中,具体信息来自微博上对智慧养老的关键字爬取,事实上,词云图也很好地体现了这一主题。

    3. 停用词
      什么是停用词?
      首先我们得清了解,在对文本进行分词后,可能会得到一些零散无用的词,有时候不利于文本主题的展现,比如“这个”,“那个”等,那么我们可以将这些词列入停用词中,图片上就不会展现这些词了。

    4. 词云图文字颜色
      文字颜色有许多设置方法,这里采用自定义配色,这里送上我推荐的一些颜色集合供大家使用,经过我千挑万选,蛮好看的颜色

    ['#43045F', '#4E0362', '#C63264', '#FF9799', '#FFBAAB'] #紫色
    ['#7e9680', '#79616f', '#AE6378', '#D87F81', '#EAB595'] #杂色
    
    1. 其余参数
      许多参数我在程序中均有注释,大家可以结合理解,根据自己的需要修改。
    2. 清晰度
      如果是根据背景图片生成词云图,那么生成的词云图的清晰度是和背景图片一样的,背景图片是100100像素的,那么生成的词云图也是100100的,建议大家选取清晰度高的背景图片。

    以下是本人的git地址,欢迎大家免费下载,交流学习:

    https://github.com/HYHJessica/

    展开全文
  • 词云的作用已不必多说,也有许多不同版本生成词云的方法,但有时候调整图片细节能把人给调得脚趾头不自觉的瞉起。所以为何不直接将其封装进一个函数中,将各种绘制参数都事先准备好,尽可能一了百了呢?说干就干,看...
  • 利用python制作词云图片,其中包含利用jieba、maploit等python第三方支持库
  • 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词云图

    展开全文
  • 使用Python绘制词云图片

    千次阅读 2021-01-27 21:27:36
    使用Python绘制词云图片过程如下: 在官网下载一个Python的安装包。首先,查看自己电脑是32位还是64位。针对不同的电脑选择不同的版本。 64位地址为:...
  • 使用Python写的一个生成词云图的小脚本。环境是Python2.7的,大家注意。简单可用,还可以打印出前4个重复率最高的词和重复次数。
  • 如何用Python画个词云图

    千次阅读 2022-03-29 12:23:47
    目标:将如下柯南的图片,转换成词云图。 实现代码: from wordcloud import WordCloud, ImageColorGenerator from PIL import Image from imageio import imread import numpy as np background = '...
  • python如何实现词云图?本篇文章小编给大家分享一下python实现词云图代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。代码如下:import matplotlib....
  • 使用Python绘制词云图(自定义形状)

    千次阅读 2021-07-04 13:23:24
    1.使用Python需要事先准备的包 from wordcloud import WordCloud import os from os import path import matplotlib.pyplot as plt import jieba from imageio import imread 2.准备一个词云图的背景图片 就是想...
  • 没有安装的话需要在cmd里pip install 一下,使用jupyter也可以在Anaconda Powershell Prompt 里安装。 在正常下载完jieba库后,pip install wordcloud 报错是我遇见的第一个问题。 更新pip,通过镜像下载均不行,...
  • 这篇文章主要介绍了python根据文本生成词云图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 效果 代码 from wordcloud import WordCloud import ...
  • 本文采用Python编程,实现对文本文档(中、英文)词频统计以及词云图展示。 1.何为词云图词云图是文本数据的视觉展示,可以快速从大量文本信息中找出关键词。一般来说字体越大就代表出现的频率越高。 E.G. 下图...
  • 使用python制作词云

    2021-01-20 02:17:12
    Python制作词云很简单,要求不高的话,几行代码就可以搞定,主要使用的库有jieba(结巴,一种分割汉语的分词库)和wordcloud库。下面是我参考网上一些代码改编的,还有效果,初学,钻研的还不够深。 # Created by ...
  • 使用现有的txt文本和图片,就可以wordcloud包生成词云图。大致步骤是: 1、读取txt文本并简单处理; 2、读取图片,以用作背景; 3、生成词云对象,保存为文件。 需要用到3个库:jieba(用于分割文本为词语)、...
  • 1. 量身打造属于你的词云图今天的Python案例是跟着笔者来打造属于自己的词云图。那么什么是词云图呢?我们在百度中来搜索一下,如图所示:概念:词云图就是由词汇组成类似云的彩色图形。接下来我们就可以去为自己量...
  • 本文介绍如何使用python绘制简单的词云图。 制作基础的词云图 python中词云可以直接在输入为一大段文字的情况下生成,不需要再更多处理。比如以下代码: import wordcloud import matplotlib.pyplot as plt text ...
  • Python绘制词云图

    千次阅读 2022-03-05 16:55:44
    1.用到的一些包,如下 import jieba import collections import re from pyecharts.charts import WordCloud from pyecharts.globals ...如果在运行中提示你没有的包,可以使用下面的镜像链接在cmd窗口下安装: pip
  • 有的时候我们把数据整理收集整理到excel中,那么要把excel中的某列文本数据制作词云图怎么呢? 从最简单的说起。 最简单的词云图就是这种,英文的,不读取文件,不指定背景形状图片,不指定字体。 #复制文本字符...
  • python词云图

    2018-03-02 14:59:06
    这是词云图代码,可用于文本可视化,简单易懂。不错的资源。
  • 大家好,我是天空之城,今天给大家带来,用python一起学做词云图 感谢博友【刘一手emm】,原文链接在最后 import pandas as pd import matplotlib.pyplot as plt import numpy as np from wordcloud import ...
  • python词云图词云图模糊不清

    千次阅读 2020-12-19 16:36:26
    max_font_size=40) # 最大字体的大小 word_cloud.generate(text_cut) plt.subplots(figsize=(12,8),dpi=300) plt.imshow(word_cloud) plt.axis("off") # plt.savefig('品类词云图.png', format='png', bbox_inches=...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,818
精华内容 6,327
关键字:

用python做词云图