精华内容
下载资源
问答
  • 见习报告一份数据来自狗熊会。词云分析、回归分析。内置R语言代码。 版权声明:代码下载只能自己学习使用,切勿用于商业用途,违者必究。
  • 文章目录环境准备Code结果文件Links 环境准备 Python, pip安装配置; 安装依赖的包(使用-i url指定要使用的镜像源,加快下载速度) ...中文字体文件(必须设置,否则中文词云图会显示小方块样式的乱码) 可以在W

    环境准备

    • Python, pip安装配置;

    • 安装依赖的包(使用-i url指定要使用的镜像源,加快下载速度)

    pip install wordcloud scipy jieba
    

    如果下载速度太慢,加参数-i https://pypi.tuna.tsinghua.edu.cn/simple使用国内镜像下载即可。

    • 文件准备:
      1. 要分析的文本文件(当然也可以在代码中直接写字符串)。
      2. 中文字体文件(必须设置,否则中文词云图会显示小方块样式的乱码)
        可以在Windows系统中搜索.ttf结尾的,便是字体文件,我选的是simfang.ttf
      3. 背景文件
        默认会生成矩形图片(文字为彩色),如果想生成指定样式的词云(包括重设颜色),可以通过mask设置背景。
        我下载了:https://tse2-mm.cn.bing.net/th/id/OIP.D_Gm8IGCvkqmOgtU2hueVwHaHS?pid=Api&rs=1
        github logo

    Code

    注意相对路径和绝对路径。

    如果使用的相对路径加载文件,执行该py脚本的时候,应该先cd到该脚本所在目录,然后:

    python test-wordcloud.py
    

    test-wordcloud.py

    from wordcloud import WordCloud, ImageColorGenerator, STOPWORDS
    import matplotlib.pyplot as plt
    import scipy.misc as imread
    import jieba
    
    # 要分析的文本文件的路径
    text_file_paths = "余华-活着.txt"
    # 自定义词云背景图片的路径(可不设置)
    mask_file_path = "bg.jpg"
    # 中文字体路径
    font_path = "C:\Windows\WinSxS\amd64_microsoft-windows-font-truetype-simfang_31bf3856ad364e35_10.0.18362.1_none_5a7f93f39ed619f0\simfang.ttf"
    # 要生成的结果路径
    result_file_path = "result.jpg"
    
    mask_img = plt.imread(mask_file_path)
    
    with open(text_file_paths, "r", encoding="UTF-8") as f:
        text = f.read()
    
    wordlist_after_jieba = jieba.cut(text, cut_all=True)
    wl_space_split = " ".join(wordlist_after_jieba)
    
    wc = WordCloud(
        background_color="white",
        font_path=font_path,
        # mask=mask_img,    # 是否自己指定的背景图片
        prefer_horizontal=0.9,  # 词语水平展示的比例
        width=500,
        height=300,
        scale=10,
        max_words=500,
        relative_scaling=0.5,
        stopwords=STOPWORDS,
        max_font_size=70,
        collocations=False,
        min_word_length=2,
    )
    wc.generate(wl_space_split)
    
    # 自定义图片背景形状、颜色
    # image_colors = ImageColorGenerator(mask_img)
    # wc.recolor(color_func=image_colors)
    
    # 写入到图片文件中
    wc.to_file(result_file_path)
    
    # 显示图片
    plt.imshow(wc)
    plt.axis("off")
    plt.show()
    

    结果文件

    1. 不配置中文字体文件,出现小方块乱码:
      在这里插入图片描述

    2. 配置中文字体后:

    在这里插入图片描述

    1. 自己指定背景图片后(该图片的宽高会覆盖我们的给词云的width height配置):
      在这里插入图片描述

    2. 自己指定图片的颜色方案:
      在这里插入图片描述

    Links

    展开全文
  • 1.词云图实现 一、准备 环境:Win10+Python 3.6.1 64bit+PyCharm 词云库:wordcloud(pycharm如何安装库) 汉语分词库:jieba(pycharm如何安装库) 字体:中文字体(如何查看电脑中的字体位置) 文本:txt...

    目录

    1.实现

    2.BUG解决


    1.词云图实现

    一、准备

    环境:Win10+Python 3.6.1  64bit+PyCharm

    词云库:wordcloud(pycharm如何安装库

    汉语分词库:jieba(pycharm如何安装库

    字体:中文字体(如何查看电脑中的字体位置

    文本:txt格式(随便下载个小说)

    效果:http://www.xinyrh.com/newsinfo/821001.html

    二、无背景分词

    import matplotlib.pyplot as plt  # 数学绘图库
    import jieba  # 分词库
    import numpy as np
    from wordcloud import WordCloud,ImageColorGenerator  # 词云库
    
    # 1、读入txt文本数据D:\Desktop\SmallOA\media\tes.txt
    text = open(r'D:\Desktop\SmallOA\media\tes.txt', "r",encoding='utf-8', errors='ignore').read()
    
    # 2、结巴分词,默认精确模式。可以添加自定义词典userdict.txt,然后jieba.load_userdict(file_name) ,file_name为文件类对象或自定义词典的路径
    # 自定义词典格式和默认词库dict.txt一样,一个词占一行:每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒
    
    cut_text= jieba.cut(text)
    result = "/".join(cut_text)  # 必须给个符号分隔开分词结果来形成字符串,否则不能绘制词云
    # print(result)
    
    # 3、生成词云图,这里需要注意的是WordCloud默认不支持中文,所以这里需已下载好的中文字库
    # 无自定义背景图:需要指定生成词云图的像素大小,默认背景颜色为黑色,统一文字颜色:mode='RGBA'和colormap='pink'
    #D:\Desktop\SmallOA\media\Project\muban\dig_close.png
    wc = WordCloud(font_path=r"c:\WINDOWS\FONTS\MSYHL.TTC", background_color='white', width=400,
                   height=300, max_font_size=50,
                   max_words=1000)  # ,min_font_size=10)#,mode='RGBA',colormap='pink')
    wc.generate(result)
    wc.to_file(r"D:\Desktop\SmallOA\media\wordcloud.png")  # 按照设置的像素宽高度保存绘制好的词云图,比下面程序显示更清晰
    
    # 4、显示图片
    plt.figure("词云图")  # 指定所绘图名称
    plt.imshow(wc)  # 以图片的形式显示词云
    plt.axis("off")  # 关闭图像坐标系
    plt.show()

    三、有背景分词

    import matplotlib.pyplot as plt  # 数学绘图库
    import jieba  # 分词库
    import numpy as np
    from PIL import Image
    from wordcloud import WordCloud,ImageColorGenerator  # 词云库
    
    # 1、读入txt文本数据D:\Desktop\SmallOA\media\tes.txt
    text = open(r'D:\Desktop\SmallOA\media\tes.txt', "r",encoding='utf-8', errors='ignore').read()
    
    # 2、结巴分词,默认精确模式。可以添加自定义词典userdict.txt,然后jieba.load_userdict(file_name) ,file_name为文件类对象或自定义词典的路径
    # 自定义词典格式和默认词库dict.txt一样,一个词占一行:每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒
    
    cut_text= jieba.cut(text)
    result = "/".join(cut_text)  # 必须给个符号分隔开分词结果来形成字符串,否则不能绘制词云
    # print(result)
    
    # 3、生成词云图,这里需要注意的是WordCloud默认不支持中文,所以这里需已下载好的中文字库
    
    image = Image.open(r'D:\Desktop\SmallOA\media\214.png')
    graph = np.array(image)
    # 无自定义背景图:需要指定生成词云图的像素大小,默认背景颜色为黑色,统一文字颜色:mode='RGBA'和colormap='pink'
    #D:\Desktop\SmallOA\media\Project\muban\dig_close.png
    wc = WordCloud(font_path=r"c:\WINDOWS\FONTS\MSYHL.TTC",
                   background_color='white',#设置底色
                   width=400,height=300, #制定图片大小,应小于背景像素
                   mask=graph,  # 指定背景图形状
                   max_font_size=50,#最大字体
                   max_words=1000,#最大实现字数
                    )  
    wc.generate(result)
    
    #4、绘制文字的颜色以背景图颜色为参考
    image_color = ImageColorGenerator(graph)#从背景图片生成颜色值
    wc.recolor(color_func=image_color)
    wc.to_file(r"D:\Desktop\SmallOA\media\wordcloud.png")  # 按照设置的像素宽高度保存绘制好的词云图,比下面程序显示更清晰
    
    # 5、显示图片
    plt.figure("词云图")  # 指定所绘图名称
    plt.imshow(wc)  # 以图片的形式显示词云
    plt.axis("off")  # 关闭图像坐标系
    plt.show()

    2.BUG解决

    一、UnicodeDecodeError: 'gbk' codec can't decode byte 0xaf in position 2: illegal multibyte sequence

    编码问题:代码中以设置,一般不会再出问题。

    text = open(r'D:\Desktop\SmallOA\media\tes.txt', "r",encoding='utf-8', errors='ignore').read()

    二、OSError: cannot open resource

    字体有问题

    三、ImageColorGenerator is smaller than the canvas

    这个问题出来后我问了其他人,群里告诉我是因为我的底片比我设置width和height要小。就像我的口袋装不下一个苹果一样,而我非要塞进去,产生溢出,自然就报错了。解决方法是查看底片的宽高,然后去设置内容的宽高。最好等于图片的宽高。

    参考:

    https://vip01.blog.csdn.net/article/details/77622174?depth_1-

    https://blog.csdn.net/fwpevil/article/details/86547428

    https://blog.csdn.net/Kafkaer/article/details/94167718

     

    展开全文
  • 的第一个文本分析练习,主要是构建词云,文本以朱自清老师的“背影”为例。 分词 文本分析第一步就是分词,使用jieba库进行分词,因为要做词云,所以同时引入wordcloud和matplotlib库。 import jieba from ...

    做的第一个文本分析练习,主要是构建词云,文本以朱自清老师的“背影”为例。

    分词

    文本分析第一步就是分词,使用jieba库进行分词,因为要做词云,所以同时引入wordcloud和matplotlib库。

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

    读入背影文本文件

    content = open(r'G:\Py_code\项目\文本分析\beiying.txt', encoding = 'utf-8')
    

    对content进行分词处理

    mylist = list(content)
    word_list = [" ".join(jieba.cut(sentence)) for sentence in mylist]
    new_text = " ".join(word_list)
    

    分词后的结果(部分):

    背影
    作者 : 朱自清

    我 与 父亲 不 相见 已 二年 余 了 , 我 最 不能 忘记 的 是 他 的 背影 。 那年 冬天 , 祖母 死 了 , 父亲 的 差使 也 交卸 了 , 正是 祸不单行 的 日子 , 我 从 北京 到 徐州 , 打算 跟着 父亲 奔丧 回家 。 到 徐州 见 着 父亲 , 看见 满院 狼藉 的 东西 , 又 想起 祖母 , 不禁 簌簌 地 流下 眼泪 。 父亲 说 , “ 事已如此 , 不必 难过 , 好 在 天无绝人之路 ! ”

    构建词云

    字体设置为雅黑,为了美观,把坐标轴去掉,设置画布为800*400(默认为400 *200),wordcloud中还有一个有意思的参数mask,读取画布,在非全白的地方填充词云,但是要注意此时背景一定要是白色。

    wordc = WordCloud(font_path='simhei.ttf', background_color= "white", width=800, height= 400,
                      max_words=2000).generate(new_text)
    plt.imshow(wordc)
    plt.axis('off')
    plt.show()
    

    结果展示:
    文本分析练习-背影-词云-20191029

    展开全文
  • 用python进行文本分析词云

    千次阅读 2020-08-22 09:33:18
    用python制作词云 话不多说,直接上代码! import jieba import wordcloud from imageio import imread def Analyze(path0,path1,path2): try: f = open(path0,'rt',encoding='utf-8') t = f.read() f.close() ...

    用python制作词云

    话不多说,直接上代码!

    import jieba
    import wordcloud
    from imageio import imread
    def Analyze(path0,path1,path2):
        try:
            f = open(path0,'rt',encoding='utf-8')
            t = f.read()
            f.close()
            ls = jieba.lcut(t)
            txt = " ".join(ls)
            mask = imread(path1)
            w = wordcloud.WordCloud(font_path='msyh.ttc',mask=mask,width=1000,height=700,background_color='black',max_words=30)
            w.generate(txt)
            w.to_file(path2)
            print("生成词云成功")
        except:
            print("生成词云失败!")
    
    def main():
        path0 = input("请输入文本路径:")
        path1 = input("请输入图片路径:")
        path2 = input("请输入保存路径:")
        Analyze(path0,path1,path2)
    
    main()
    

    运行结果如下:
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • # -*- coding: utf-8 -*- """ Created on Wed Apr 22 21:22:42 2020 @author: Administrator """ # -*- coding: utf-8 -*- """ Created on Wed Apr 22 18:08:04 2020 @author: Administrator """ ...
  • 我们以广西师范大学的两个分院教师在知网所发表论文的摘要数据分析学术成果、关键词数据分析研究方向、研究方向文本数据分析研究方向,具体用textrank算法计算出研究方向词权重,根据词权重绘制词云图进行文本分析。...
  • 1首先打开Pycharm,创建一个项目,命名English-Wordcloud,然后创建一个English-Wordcloud.py文件,见下,继而开始敲代码,非常简短的代码。2 导入词云包,导入之前必须先安装wordcloud。(macOs或Linux用户在终端...
  • 根据词频绘制形状词云图。 import os print(os.getcwd()) os.chdir("e:\\") print(os.getcwd()) 首先通过“os.getcwd()”确认当前工作的目录与待分析文本文件位置是否在同一目录下, 并利用“os.chdir()”改变...
  • code 词云图 参考
  • 【Python】文本情感分析及绘制词云

    千次阅读 多人点赞 2019-06-05 20:16:18
    这篇文章主要分享了使用Python来对文本数据进行情感分析以及绘制词云。 主要步骤包括: 1.文本预处理 2.文本分词 3.去除停用词(这里设置为单个词和一些常见的停用词) 4.词频统计 5.情感分析 6.绘制词云 首先...
  • Python文本挖掘:词云图

    万次阅读 多人点赞 2017-08-15 03:51:23
    词云图又叫文字云,是对文本数据中出现频率较高的关键词予以视觉上的突出,形成"关键词的渲染"就类似云一样的彩色图片,从而过滤掉大量的文本信息,,使人一眼就可以领略文本数据的主要表达意思。 二、开发环境准备...
  • 文本挖掘——词云图的操作

    千次阅读 2017-02-04 21:26:52
    弄了两天,今天看了一篇博文才有点搞的明白,第一天看了Rwordseg...第二天看了第二篇文章《玩玩文本挖掘-wordcloud、主题模型与文本分类》,这个家伙也不好看,讲的啰里啰嗦的。用个简单的例子就行了呗,非得用个复杂的
  • 从txt文本提取数据制作词云图

    千次阅读 2020-07-13 18:42:38
    以下部分内容来自公众号数据分析与统计学之美,号主很牛叉,需要的赶紧加他。 import numpy as np import pandas as pd import jieba from wordcloud import WordCloud import matplotlib.pyplot as plt from ...
  • 今日目标:爬取CVPR2018论文,进行分析总结出提到最多的关键字,生成wordCloud词云图展示,并且设置点击后出现对应的论文以及链接对任务进行分解:①爬取CVPR2018的标题,简介,关键字,论文链接②将爬取的信息生成...
  • 在生成词云图之前,首先要一些准备工作 1.安装结巴分词库 pip install jieba Python中的分词模块有很多,他们的功能也都是大同小异,我们安装的结巴分词 是当前使用的最多的类型。 下面我来简单介绍一下结巴...
  • 制作词云图一.词云图介绍二.wordcloud方法二....词云图的应用相当广泛,诸如电影-视频-微博-网易云-淘宝-知乎等评论分析、书籍-报告-商品信息-疫情舆论等文本分析,使用词云图能使数据信息的表达一目了然。
  • Python对文本分析,构建词云图

    千次阅读 2018-11-12 15:36:31
    1.代码 #matplotlib:2D数学绘图库 import matplotlib.pyplot as plt from scipy.misc import imread...#词云库 from wordcloud import WordCloud from wordcloud import ImageColorGenerator #加载自定义词典 jieb...
  • 通过自定义的背景图片和设置停用词以及自定义颜色字体等得到英文词云图片,代码包含详细注释
  • 【Python】txt文本文件生成词云图片纯方框,无文字单字过滤任意形状词云完整代码 纯方框,无文字 查询知wordcloud默认是不支持显示中文的,中文会被显示成方框。 需要借助wordlcloud.WordCloud初始化函数的参数font_...
  • Python爬取全网所有书籍,只需要填写书籍连接即可,后台会自动运行爬虫,下载书籍文本到本地,最后会根据智能词云算法开启分词,之后依靠pyecharts这个强大的库,进行词云分析及其展示。全程一键化,没有烦恼,快来...
  • 因此我们通过输出生成的词云以及词频的统计,并根据结果加入自定义的词典和去除停用词 最终的到的结果: 之后我们在使用snowNLP包对评论情感分析,得到每个评论的情感分数与总平均分 #情感分析 def comment_...
  • 论文中用到的部分基础文本分析技术(包括分词、去除停用词、word2vec、TF-IDF、词云图、名称提取、词性标注、LDA主题模型)
  • 分析三国演义和红楼梦,进行中文分词,统计人物出场频次,生成词云图。分享给广大python爱好者学习交流。
  • 词云的作用已不必多说,也有许多不同版本生成词云的方法,但有时候调整图片细节能把人给调得脚趾头不自觉的瞉起。所以为何不直接将其封装进一个函数中,将各种绘制参数都事先准备好,尽可能一了百了呢?说干就干,看...
  • ​昨晚我们又了一次技术分享,继续上次技术分享的话题“文本数据的处理”。上次,我们分享了文本处理的方方面面的知识点,比较宏观,这次我们就其中的一点“分词”展开。一、为什么要分词“行文如流水”形容的是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,543
精华内容 2,217
关键字:

文本分析做词云图