最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 如何用python创建词云图片

    正文概述    2020-02-24   334

    如何用python创建词云图片

    Python实现词云的库有很多,较为常见的就是wordcloud,这个库基于PIL,PIL是必不可少的,需要用的还有matplotlib和numpy。

    本文使用解释器为python2.7.13 32位。

    安装

    pip install wordcloud

    使用

    针对库示例做了一个简单修改,直接使用generate_from_frequencies方法,而没有使用generate()方法。有这样几个原因,generate_from_frequencies是基础的方法,generate()仍然还是要调用generate_from_frequencies方法;实验比较直接。

    库的使用方法很简单,但是中文使用的话会有几个问题,一个是字符编码问题,二是字体问题,默认的字体不支持中文,因此需要加入font_path = "simfang.ttf"指定字体,这是把字体指定为同一个文件夹下的simfang.ttf。

    示例:

    #encoding=utf-8
    from os import path
    from wordcloud import WordCloud
    import sys
    reload(sys)
    sys.setdefaultencoding('utf-8')
    
    
    fre={"哈哈".decode('utf-8'): 1.2,"呵呵".decode('utf-8'):6}
    wordcloud = WordCloud(font_path = "simfang.ttf").generate_from_frequencies(fre)
    
    import matplotlib.pyplot as plt
    plt.imshow(wordcloud, interpolation='bilinear')
    plt.axis("off")
    plt.show()

    效果如下:

    如何用python创建词云图片

    先抽取网页的文本,然后再进行分词,将分词结果根据频率作为字典传给generate_from_frequencies,生成词云。
    更简单,比如直接抽取文章的关键词,比如博客每篇文章就有关键词,用Counter库,直接生成频率调用。

    使用背景图片生成词云

    如何用python创建词云图片

    对上面的代码做了一点简单的改动:

    #encoding=utf-8
    
    from os import path
    from wordcloud import WordCloud
    import sys
    reload(sys)
    sys.setdefaultencoding('utf-8')
    
    d = path.dirname(__file__)
    text = open(path.join(d, 'constitution.txt')).read().decode('utf-8')
    
    import numpy as np
    from PIL import Image
    football = np.array(Image.open(path.join(d, "timg.jpg")))
    
    fre={"哈哈".decode('utf-8'): 1.2,"呵呵".decode('utf-8'):6,"咯咯".decode('utf-8'):6,
    "呵呵".decode('utf-8'):6,"咯咯".decode('utf-8'):6,
    "啦啦".decode('utf-8'):1,"哦哦".decode('utf-8'):6,
    "恩恩".decode('utf-8'):3,"呃呃".decode('utf-8'):6,
    "饿饿".decode('utf-8'):3,"嗯嗯".decode('utf-8'):6,
    "哼哼".decode('utf-8'):5,"丽丽".decode('utf-8'):6,
    "咔咔".decode('utf-8'):7,"咳咳".decode('utf-8'):6,
    "乐乐".decode('utf-8'):6,"呐呐".decode('utf-8'):6,
    "嘎嘎".decode('utf-8'):6,"嘻嘻".decode('utf-8'):6}
    #wordcloud = WordCloud(font_path = "simfang.ttf").generate(text)
    wordcloud = WordCloud(font_path = "simfang.ttf",mask=football).generate_from_frequencies(fre)
    
    import matplotlib.pyplot as plt
    plt.imshow(wordcloud, interpolation='bilinear')
    plt.axis("off")
    plt.show()

    效果如下:

    如何用python创建词云图片

    更多技术请关注Python视频教程。


    起源地下载网 » 如何用python创建词云图片

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元