python 简单实现jieba库分词制作词云

准备工作:

python版本:python 2

ide:pycharm2018

pip 安装 jieba , wordcloud ,matplotlib

#保存至脚本同一级位置

百度一段词典:红楼梦,水浒传  

下载中文转换的ttf文件:https://s3-us-west-2.amazonaws.com/notion-static/b869cb0c7f4e4c909a069eaebbd2b7ad/simsun.ttf

 

实现:

# coding:utf-8


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


# 生成词云
def create_word_cloud(filename):
    text = open("{}.txt".format(filename)).read()
    
    wordlist = jieba.cut(text, cut_all=True) # 结巴分词
    wl = " ".join(wordlist)

    # 设置词云
    wc = WordCloud(
        # 设置背景颜色
        background_color="black",
        # 设置最大显示的词云数
        max_words=2000,
        # 这种字体都在电脑字体中,一般路径
        font_path='simsun.ttf',
        height=1200,
        width=1600,
        # 设置字体最大值
        max_font_size=100,
        # 设置有多少种随机生成状态,即有多少种配色方案
        random_state=100,
    )

    myword = wc.generate(wl)  # 生成词云
    # 展示词云图
    plt.imshow(myword)
    plt.axis("off")
    plt.show()
    wc.to_file('img_book.png')  # 把词云保存下


if __name__ == '__main__':
    create_word_cloud('mytext')

 

展示:

 

 

加载背景图片生成词云

from wordcloud import WordCloud
import matplotlib.pyplot as plt
import jieba
import numpy as np
from PIL import Image


# 生成词云
def create_word_cloud(filename):
    text = open("{}.txt".format(filename)).read()
    # 结巴分词
    wordlist = jieba.cut(text, cut_all=True)
    wl = " ".join(wordlist)

    # 加载背景图片
    cloud_mask = np.array(Image.open("bg.png"))

    # 设置词云
    wc = WordCloud(
        # 设置背景颜色
        background_color="black",
        #背景图片
        mask=cloud_mask,
        # 设置最大显示的词云数
        max_words=2000,
        # 这种字体都在电脑字体中,一般路径
        font_path='simsun.ttf',
        height=1200,
        width=1600,
        # 设置字体最大值
        max_font_size=100,
        # 设置有多少种随机生成状态,即有多少种配色方案
        random_state=100,
    )

    myword = wc.generate(wl)  # 生成词云
    # 展示词云图
    plt.imshow(myword)
    plt.axis("off")
    plt.show()
    wc.to_file('py_book.png')  # 把词云保存下


if __name__ == '__main__':
    create_word_cloud('mytext')

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值