精华内容
下载资源
问答
  • 期末复习比较忙过段时间来专门写scrapy框架使用,今天介绍如何用python生成词云,虽然网上有很多词云生成工具,不过自己用python来写是不是更有成就感。今天要生成的是励志歌曲的词云,百度文库里面找了20来首,如...

    期末复习比较忙过段时间来专门写scrapy框架使用,今天介绍如何用python生成词云,虽然网上有很多词云生成工具,不过自己用python来写是不是更有成就感。

    今天要生成的是励志歌曲的词云,百度文库里面找了20来首,如《倔强》,海阔天空是,什么的大家熟悉的。

    所要用到的python库有 jieba(一个中文分词库)、wordcould 、matplotlib、PIL、numpy。

    首先我们要做的是读取歌词。我将歌词存在了文件目录下励志歌曲文本中。

    现在来读取他

    #encoding=gbklyric= ''f=open('./励志歌曲歌词.txt','r')for i in f:

    lyric+=f.read()

    加入#encoding=gbk是为了防止后面操作报错SyntaxError: Non-UTF-8 code starting with '\xc0'

    然后我们用jieba分词来对歌曲做分词提取出词频高的词

    import jieba.analyse

    result=jieba.analyse.textrank(lyric,topK=50,withWeight=True)

    keywords = dict()for i in result:

    keywords[i[0]]=i[1]print(keywords)

    得到结果:

    2ec51d0ff652ea38e6a134bad5df17fd-0.png

    然后我们就可以通过wrodcloud等库来生成词云了

    首先先自己找一张图片来作为生成词云的形状的图

    70e1947a4f6119490aed631f22e3aeea-1.png

    from PIL import Image,ImageSequenceimport numpy as npimport matplotlib.pyplot as pltfrom wordcloud import WordCloud,ImageColorGenerator

    image= Image.open('./tim.jpg')

    graph = np.array(image)

    wc = WordCloud(font_path='./fonts/simhei.ttf',background_color='White',max_words=50,mask=graph)

    wc.generate_from_frequencies(keywords)

    image_color = ImageColorGenerator(graph)

    plt.imshow(wc)

    plt.imshow(wc.recolor(color_func=image_color))

    plt.axis("off")

    plt.show()

    70e1947a4f6119490aed631f22e3aeea-2.png

    保存生成图片

    wc.to_file('dream.png')

    完整代码:

    #encoding=gbkimport jieba.analysefrom PIL import Image,ImageSequenceimport numpy as npimport matplotlib.pyplot as pltfrom wordcloud import WordCloud,ImageColorGenerator

    lyric= ''f=open('./励志歌曲歌词.txt','r')for i in f:

    lyric+=f.read()

    result=jieba.analyse.textrank(lyric,topK=50,withWeight=True)

    keywords = dict()for i in result:

    keywords[i[0]]=i[1]print(keywords)

    image= Image.open('./tim.jpg')

    graph = np.array(image)

    wc = WordCloud(font_path='./fonts/simhei.ttf',background_color='White',max_words=50,mask=graph)

    wc.generate_from_frequencies(keywords)

    image_color = ImageColorGenerator(graph)

    plt.imshow(wc)

    plt.imshow(wc.recolor(color_func=image_color))

    plt.axis("off")

    plt.show()

    wc.to_file('dream.png')

    以上就是python生成词云方法教程的详细内容,更多请关注php中文网其它相关文章!

    article_wechat2021.jpg?1111

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!

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

    闲话不多说,直接上干货!

    STEP1

    安装jieba包

    点击桌面菜单栏的开始按钮,输入cmd回车,进入命令窗口。

    在命令行输入 pip install jieba回车,安装jieba包。

    20171231135650_804.jpg

    安装wordcloud包

    同jieba一样,也可以使用pip install wordcloud安装,但是安装速度很慢,通常使用whl文件安装。

    python常用whl文件的下载地址:

    https://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy

    进入该网址,搜索wordcloud,小编下载的是图中红框所示文件

    20171231135703_574.jpg

    下载好whl文件后,在命令行中输入pip install和空格,将whl文件直接拖拽至命令行窗口,点击回车

    20171231135711_79.jpg

    jieba包和wordcloud包都安装完成后,准备工作就完成了。

    STEP2

    编写词云图代码

    # 导入需要的包

    import jieba

    from wordcloud import WordCloud

    from scipy.misc import imread

    import matplotlib.pyplot as plt

    其中imread用于读取图片,plt用于最后词云图展示

    # 读取文本文件

    text=open('G:/py/wc/text.txt','r',encoding='gbk').read()

    # 对文本进行分词

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

    # 读取图片

    color_mask = imread("G:/py/wc/11.png")

    文件路径最好为英文,尽量避免报错

    若运行后提示encoding编码错误,将encoding更改为utf8或其他编码格式,或者删除encoding

    图片有png、jpg等多种格式,按照实际情况输入

    所有文件最好放在同一文件夹下,方便输入路径

    # 生成词云

    cloud = WordCloud(

    font_path='G:/py/wc/new_songti.ttc',

    background_color='white',

    mask=color_mask,

    max_words=2000,

    max_font_size=80)

    word_cloud = cloud.generate(cut_text)

    字体路径必须设置

    可以使用 help 功能查看WordCloud的所有参数

    在spyder中,选中代码中的WordCloud,按住ctrl键,点击鼠标,也可以调出WordCloud的参数。通过调试参数,可以画出更加美观的词云图

    # 输出图片

    plt.axis('off')

    plt.imshow(word_cloud)

    plt.show()

    删掉最后一行代码 plt.show(),对词云图是没有影响的,但是最好养成良好习惯,只要有图片展示的代码中,最好加上。

    plt.show() 起到全局控制的作用,当一个脚本中出现多个图片展示时,不加plt.show() 会导致图片输出错误

    最终生成的词云图:

    20171231135725_338.jpg

    观察词云图,发现“一个”、“知道”、“他们”、“我们”这些词汇,对于理解《三体》帮助不大,需要设置一个过滤机制,筛选掉这些意义不大的词汇。

    首先我们创建一个用于存放过滤词的txt文件。

    20171231135750_771.jpg

    运行过滤词的代码

    # 导入停止词

    stopword = open('G:/py/wc/stopword.txt','r').read()

    # 转换为列表

    cut_text=cut_text.split(' ')

    cut_text=list(cut_text)

    stopword = stopword.split(' ')

    stopword=list(stopword)

    # 去除停止词

    for i in stopword:

    for j in cut_text:

    if j == i:

    cut_text.remove(j)

    # 列表转字符串

    cut_text=" ".join(cut_text)

    word_cloud = cloud.generate(cut_text)

    再次输出词云图

    plt.axis('off')

    plt.imshow(word_cloud)

    plt.show()

    过滤后的词云图比过滤前主题更明确了,现在没有读过三体的小伙伴也能大概了解到这本书是在讲什么啦!

    20171231135757_122.jpg

    为了方便小伙伴,本文提供所涉及材料的下载地址:

    https://pan.baidu.com/s/1c1EbfuK

    展开全文
  • python词云图

    千次阅读 2018-11-25 20:25:29
    python词云图 一、词云图 什么是词云图,词云图又叫文字云,是对文本数据中出现频率较高的关键词予以视觉上的突出,形成"关键词的渲染"就类似云一样的彩色图片,从而过滤掉大量的文本信息,,使人一眼就...

    python词云图


    在这里插入图片描述
    一、词云图
    什么是词云图,词云图又叫文字云,是对文本数据中出现频率较高的关键词予以视觉上的突出,形成"关键词的渲染"就类似云一样的彩色图片,从而过滤掉大量的文本信息,,使人一眼就可以领略文本数据的主要表达意思。


    二、开发环境
    windows7+pycharm
    需要python库:


    matplotlib:
    Matplotlib 是 Python 的一个绘图库
    使用教程:http://codingpy.com/article/a-quick-intro-to-matplotlib/


    jieba:
    “结巴”中文分词:做最好的 Python 中文分词组件
    使用教程:https://github.com/fxsjy/jieba


    WorldCloud:
    构建词云
    使用教程:https://blog.csdn.net/FontThrone/article/details/72775865
    官方文档:https://amueller.github.io/word_cloud/auto_examples/emoji.html


    PIL:
    该Image模块提供了一个具有相同名称的类,用于表示PIL图像。该模块还提供了许多工厂功能,包括从文件加载图像和创建新图像的功能。
    安装教程:https://blog.csdn.net/dcz1994/article/details/71642979
    使用教程:https://pillow.readthedocs.io/en/latest/reference/Image.html#module-PIL.Image
    https://blog.csdn.net/u013180339/article/details/77363680


    numpy:
    NumPy 是一个运行速度非常快的数学库,主要用于数组计算
    使用教程:http://www.runoob.com/numpy/numpy-tutorial.html


    好了,以上就是我看的所有的资料,大家可以参考


    三、构建图云
    1.读取文图
    首先打开文本,我打开的是前面python爬虫的一个小说的文本

    text = open(r'元尊.txt', "r",encoding="utf-8").read()
    

    2.结巴分词
    利用jieba库进行分词处理

    seg_list = jieba.cut(text,cut_all=False)#采用精确模式
    result = "/".join(seg_list)
    

    3.打开背景图
    从文件加载图像,转化数组

    wc = WordCloud(font_path=r"D:\weiruan.ttf", background_color='white',max_font_size=50,mask=graph)  # ,min_font_size=10)#,mode='RGBA',colormap='pink')
    #generate(文本)从文本生成wordcloud。
    wc.generate(result)
    

    4.颜色生成器
    基于彩色图像的颜色生成器。

    image_color = ImageColorGenerator(graph)
    

    5.着色
    recolor([random_state,color_func,colormap]) 重新着色现有布局。

    wc.recolor(color_func=image_color)
    

    6.保存图片

    wc.to_file("wordcloud1.png")
    

    7.显示图片

     # 指定所绘图名称
    plt.figure("词云图") 
     # 以图片的形式显示词云
    plt.imshow(wc) 
    # 关闭图像坐标系
    plt.axis("off")  
    plt.show()
    

    8.代码:

    import matplotlib.pyplot as plt  
    import jieba  
    from wordcloud import WordCloud,ImageColorGenerator   
    from PIL import Image
    import numpy as np
    # 读入txt文本数据
    text = open(r'元尊.txt', "r",encoding="utf-8").read()
    
    # 结巴分词
    seg_list = jieba.cut(text,cut_all=False)
    result = "/".join(seg_list)  
    
    image = Image.open(r'C:\Users\Administrator\Desktop\timg (1).jpg')
    graph = np.array(image)
    
    #生成词云图
    wc = WordCloud(font_path=r"D:\weiruan.ttf", background_color='white',max_font_size=50,mask=graph)  # ,min_font_size=10)#,mode='RGBA',colormap='pink')
    #generate(文本)从文本生成wordcloud。
    wc.generate(result)
    #从背景图片生成颜色值
    image_color = ImageColorGenerator(graph)
    wc.recolor(color_func=image_color)
    wc.to_file("wordcloud1.png")
    #显示图片
    plt.figure("词云图")  # 指定所绘图名称
    plt.imshow(wc)  # 以图片的形式显示词云
    plt.axis("off")  # 关闭图像坐标系
    plt.show()
    
    

    欢迎关注微信公众号技术修炼之路,我们一起成长,一起进步


    展开全文
  • 如果你感觉学不会?莫慌,小编推荐大家加入群,前面548中间377后面875,群里...下面,进入正题,我读取了一篇小说并生成了词云,先看一下效果:效果一:效果二:根据效果分析的还是比较准确的,小说中的主人...

    如果你感觉学不会?莫慌,小编推荐大家加入群,

    前面548中间377后面875,群里有志同道合的小伙伴,

    互帮互助,还可以拿到许多视频教程!

    今天跟大家介绍用 wrodcloud 模块来生成词云,学会这个Python技能又能在朋友面前得瑟一下了,现在这个词云有必要学习一下,不难 。下面,进入正题,我读取了一篇小说并生成了词云,先看一下效果图:

    效果图一:

    效果图二:

    根据效果图分析的还是比较准确的,小说中的主人公就是“程理”,所以出现次数最多。图中有两种模式,一种是默认的模式,另一种是自己添加图片作为背景。下面我就带大家一起来学习怎样去生成词云!

    wordcloud的安装

    对于新人来说安装wordcloud模块就是一大关,我们一般都是通过Pycharm或者PIP安装的,但是在安装wordcloud时会提示错误,如下:

    我的解决方法是直接访问,根据你的电脑和py版本下载对应的whl文件

    下载完成后,把whl文件放在pip路径下,输入下面的代码,记住代码的whl文件名一定是适合你的文件名,我只是举例:

    pip install wordcloud-1.4.1-cp36-cp36m-win32.whl

    运行后会显示安装成功

    wordcloud的简单用法

    wordcloud的基本方法,看源码如下:

    各个参数大家应该一看就明白,另外wordcloud还有几个其他方法,比如fit_words,generate(text),to_file(filename)等等都是非常好理解的。

    wordcloud生成词云

    效果图一的代码:

    from wordcloud import WordCloud

    import matplotlib.pyplot as plt #绘制图像的模块

    import jieba #jieba分词

    path_txt='C://Users/Administrator/Desktop/all.txt'

    f = open(path_txt,'r',encoding='UTF-8').read()

    # 结巴分词,生成字符串,wordcloud无法直接生成正确的中文词云

    cut_text = " ".join(jieba.cut(f))

    wordcloud = WordCloud(

    #设置字体,不然会出现口字乱码,文字的路径是电脑的字体一般路径,可以换成别的

    font_path="C:/Windows/Fonts/simfang.ttf",

    #设置了背景,宽高

    background_color="white",width=1000,height=880).generate(cut_text)

    plt.imshow(wordcloud, interpolation="bilinear")

    plt.axis("off")

    plt.show()

    运行后:

    效果图二,给词云加上图片背景,代码如下:

    from PIL import Image

    from wordcloud import WordCloud, ImageColorGenerator

    import matplotlib.pyplot as plt

    import numpy as np

    import jieba

    def GetWordCloud():

    path_txt = 'C://Users/Administrator/Desktop/all.txt'

    path_img = "C://Users/Administrator/Desktop/timg.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/simfang.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()

    if __name__ == '__main__':

    GetWordCloud()

    运行结果:

    --本文完,感谢您阅读--

    展开全文
  • python词云图的生成

    2019-07-01 16:09:28
    安装库 : pip install jieba wordcloud matplotlib 准备: txt文本字体(simhei.ttf)词云背景图片 代码: 根据不同的背景图片显示的效果: ...
  • python 词云 教程

    2019-05-03 18:24:33
    然后是处理过文字颜色的词云图(选取的背景图片的颜色),和用photoshop随手做了个好丑的原背景图片素材:) 好了,接下来贴代码(代码里面都写了注释): #!/usr/bin/env python3 # -*- coding: utf-8 -...
  • 词云图from os import pathfrom PIL import Imageimport numpy as npimport matplotlib.pyplot as pltfrom wordcloud import WordCloud, STOPWORDS, ImageColorGeneratorimport jiebatext = open(path.join(r'new....
  • python词云需要安装wordcloud库。安装方法:在cmd使用pip install wordcloud命令即可安装。wordcloud库把词云当作一个WordCloud对象:wordcloud.WordCloud()代表一个文本对应的词云。可以根据文本中词语出现的频率等...
  • python词云需要安装wordcloud库。安装方法:在cmd使用pip install wordcloud命令即可安装。wordcloud库把词云当作一个WordCloud对象:wordcloud.WordCloud()代表一个文本对应的词云。可以根据文本中词语出现的频率等...
  • 期末复习比较忙过段时间来专门写scrapy框架使用,今天介绍如何用python生成词云,虽然网上有很多词云生成工具,不过自己用python来写是不是更有成就感。今天要生成的是励志歌曲的词云,百度文库里面找了20来首,如...
  • 1. 明确任务最近学习过程中看到很多分析报告中都有运用到可视化的词云,也有看到五花八门的工具教程,刚好有一份《都挺好》电视剧的弹幕源数据。... 使用wordcloud 将分词得到的词汇统计绘制词云图涉及难点...
  • 2、 熟悉文本词频统计和词云生成的基本方法。二、内容1. 从网上自行下载一个长篇英文小说,统计并输出该小说中词频最大的TOP 20结果。利用该文本和wordcloud库、imageio库等,生成一个属于自己的词云图形。代码:...
  • Python制作词云图

    2020-09-16 09:24:04
    在一些简单的数据分析场景中,制作词云图是一个非常...Python制作中文词云图最为常用的方法之一就是 wordcloud + jieba。 jieba jieba库是Python的第三方库,是一个中文分词库,是Python中目前最受欢迎的中文分词工具,
  • 1. 分析构建词云需要具备:原料即文章等内容将内容进行分词将分词后的内容利用构建词云的工具进行构建保存成图片2. 需要的主要模块jieba 中文分词wordcloud 构建词云3. 模块原理wordcloud的实现原理文本预处理词频...
  • python词云制作(最全最详细的教程

    千次阅读 多人点赞 2021-02-18 13:27:03
    今天手把手教大家用python制作词云 首先呢,需要准备的操作是: 1、安装好python3系列版本 2、安装python第三方库wordcloud;(安装教程以及可能会遇到的各种错误,我整理了一篇文章)
  • 只需要花10几分钟,跟着教程完整做一遍,你就能自己用Python做出词云了。《如何用Python词云?》图文版发布于2017年6月,是我数据科学系列教程中的第一篇。目前仅简书一个平台,阅读数量就已经超过2万。我一直不断...
  • python制作词云图

    万次阅读 多人点赞 2018-12-05 23:04:53
     ##con为使用词云图生成方法后,生成的词云图。 4、简单实例 import wordcloud #导入词云库 import numpy as np import matplotlib.pyplot as plt import PIL import jieba import re with open(r'E:\...
  • Python 词云系列

    2019-09-24 17:47:45
    摘要: 当我们手中有一篇文档,比如书籍、小说、电影剧本,若想快速了解其主要内容是什么,那么可以通过绘制WordCloud 词云图,通过关键词(高频词)就可视化直观地展示出来,非常方便。 ...
  • 我们步步为营,从头开始帮助你用Python做出第一张词云图来。欢迎尝试哦!需求在大数据时代,你经常可以在媒体或者网站上看到一些非常漂亮的信息图。例如这个样子。或是这个样子的。看过之后你有什么感觉?想不想自己...
  • 我们步步为营,大年夜头开端赞助你用Python做出第一张词云图来。迎接测验测验哦!需求在大年夜数据时代,你经常可以在媒体或者网站上看到一些异常漂亮的信息图。例如这个样子。或是这个样子的。看过之后你有什么感到...
  • Python 词云可视化

    2019-09-27 08:29:11
    最近看到不少公众号都有一些词云图,于是想学习一下使用Python生成可视化的词云,上B站搜索教程的时候,发现了一位UP讲的很不错,UP也给出了GitHub上的源码,是一个很不错的教程,这篇博客主要就是搬运UP主的教程吧...
  • Python爬虫入门教程01:豆瓣Top电影爬取 Python爬虫入门教程02:小说爬取 Python爬虫入门教程03:二手房数据爬取 Python爬虫入门教程04:招聘信息爬取 Python爬虫入门教程05:B站视频弹幕的爬取 PS:如有需要 Python...
  • 看了前面的词云教程,你可能会有一个疑问。为什么前面生成的词云图片不清晰呢?现在我们就来解决这个问题。 词云的属性即WordCloud对象的属性:fromwordcloud import WordCloudfont_path : 让你的词云变清晰scale...
  • e分钟带你利用Python制作词云图

    千次阅读 2020-08-03 16:44:16
    随着大数据时代的来临,数据分析与可视化,显得越来越重要,今天给小伙伴们带来一种最常见的数据可视化图形-词云图的制作方法。 很多人学习python,不知道从何学起。 很多人学习python,掌握了基本语法过后,不知道...
  • 环境:Pychar 包:WordCloud、numpy、...1.生成英文词云 from wordcloud import WordCloud import PIL.Image as image with open("E:test.txt") as fp:#此处的txt文件保存格式为ANSI text=fp.read() WordClou...
  • 构建词云需要具备: 原料即文章等内容 将内容进行分词 将分词后的内容利用构建词云的工具进行构建 保存成图片 2. 需要的主要模块 jieba 中文分词 wordcloud 构建词云 3. 模块原理 wordcloud的实现...

空空如也

空空如也

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

python词云图教程

python 订阅