zoukankan      html  css  js  c++  java
  • 易烊千玺歌曲词云

    今天尝试做了用wordcloud模块来生成词云,我找了一些易烊千玺唱过的歌来进行处理,先看一下效果图:

    首先要进行wordcloud的安装,作为一个新手这个安装我花了很长时间,直接pip安装会报错,

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

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

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

    pip install wordcloud-1.5.0-cp35-cp35m-win_amd64.whl

    运行成功后再用一样的方法安装下面的几个模块

    全部安装完毕后就可以开始敲代码了。
    先要确认做成词云的文本,我是直接在网上找的易烊千玺唱过的歌。然后找一张想要的图片,让词云以图片为背景输出
    代码如下:
    #导入库
    import matplotlib.pyplot as plt
    from wordcloud import WordCloud,ImageColorGenerator
    from scipy.misc import imread

    进行中文编码时我之前用utf-8报错就改用gbk了,如果出现同样的问题可以尝试用gbk

    默认背景图为长方形的,效果如下:

     1 #1.读入txt文本数据
     2 text = open('yang.txt','r',encoding='gbk').read()
     3 print(text)
     4 #读取背景图
     5 coloring = imread('易烊千玺.jpg')
     6 #生成词云图
     7 wc = WordCloud(
     8     #设置字体,不指定会出现乱码
     9     font_path='C:WindowsFontssimkai.ttf',
    10     #设置背景色
    11     background_color = 'white',
    12     #设置字体大小
    13     max_font_size=50,
    14     min_font_size=10,
    15 ).generate(text)#把文本添加进去
    16 #保存词云
    17 wc.to_file('wordcloud.png')
    18 #显示词云
    19 plt.figure('yang')
    20 #以图片的形式显示词云
    21 plt.imshow(wc)
    22 #关闭图像坐标系
    23 plt.axis("off")
    24 plt.show()

      

    给词云加上背景图并按照背景颜色输出:

     1 #读入txt文本数据
     2 text = open('yang.txt','r',encoding='gbk').read()
     3 print(text)
     4 #读取背景图
     5 coloring = imread('易烊千玺.jpg')
     6 #生成词云图
     7 wc = WordCloud(
     8     #设置字体,不指定会出现乱码
     9     font_path='C:WindowsFontssimkai.ttf',
    10     #设置背景色
    11     background_color = 'white',
    12     #设置字体大小
    13     max_font_size=50,
    14     min_font_size=10,
    15     mask =coloring#设置形状
    16 ).generate(text)#把文本添加进去
    17 image_colors = ImageColorGenerator(coloring)#引入图片的颜色
    18 #保存词云
    19 # wc.to_file('wordcloud.png')
    20 new_wc = wc.recolor(color_func=image_colors)
    21 new_wc.to_file('wordcloud2.png')#保存图片色
    22 #显示词云
    23 plt.figure('yang')
    24 #以图片的形式显示词云
    25 # plt.imshow(wc)
    26 plt.imshow(new_wc)
    27 #关闭图像坐标系
    28 plt.axis("off")
    29 plt.show()

      

    上面是完整代码,有兴趣的可以尝试做一下~

  • 相关阅读:
    hive使用beeline配置远程连接
    gitlab的搭建和使用(转)
    idea 快捷键
    Linux下用ls和du命令查看文件以及文件夹大小(转)
    crontab每小时运行一次(转)
    spark读写Oracle、hive的艰辛之路(二)-Oracle的date类型
    TCP为什么是三次握手,不是两次握手?
    2.2tensorflow2.3常量定义、类型、使用实例、运算
    2.1 tensorflow2.x数据类型和四种转换方法
    1.1tensorflow2.x简介计算图graph,张量tensor,会话session
  • 原文地址:https://www.cnblogs.com/Estate-47/p/10182692.html
Copyright © 2011-2022 走看看