Python词云生成(简单整理,不适合作为学习教程)

环境:Pycharm

包:WordCloud、numpy、jieba (文本为中文时需要)

1.生成英文词云

from wordcloud import WordCloud
import  PIL.Image as  image

with open("E:test.txt") as fp:#此处的txt文件保存格式为ANSI
    text=fp.read()
    WordCloud=WordCloud().generate(text)
    image_produce=WordCloud.to_image()
    image_produce.show()

效果图:

Python词云生成(简单整理,不适合作为学习教程)_第1张图片

2.生成指定形状的词云图

代码:

from wordcloud import WordCloud
import  PIL.Image as  image
import numpy as np

with open("E:test.txt") as fp:#此处的txt文件保存格式为ANSI
    text=fp.read()
    mask=np.array(image.open("E:cd7c6fbe8ec0778bac0f3ffed304f7e7.jpg"))#导入生成图片的形状
    WordCloud=WordCloud(mask=mask).generate(text)
    image_produce=WordCloud.to_image()
    image_produce.show()

效果图:

Python词云生成(简单整理,不适合作为学习教程)_第2张图片

3.生成中文的词云图

代码:

from wordcloud import WordCloud
import PIL .Image as image
import numpy as np
import jieba
import sys

def trans_CN(text):
    word_list = jieba.cut(text)
    result = " ".join(word_list)
    return result;


with open("E:test.txt") as fp:
    text = fp.read()
    text  = trans_CN(text)
    mask = np.array(image.open("E:cd7c6fbe8ec0778bac0f3ffed304f7e7.jpg"))
    wordcloud = WordCloud(
        mask=mask,
        font_path = "C:\\Windows\\Fonts\\msyh.ttc" #图片上的显示的字体
    ).generate(text)
    image_produce = wordcloud.to_image()
    image_produce.show()

 

效果:(数据来源:2020年一号文件来源)

Python词云生成(简单整理,不适合作为学习教程)_第3张图片

代码:

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

path_txt='E:test.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()

 效果图:(数据来源:2004--2020一号文件文本)

Python词云生成(简单整理,不适合作为学习教程)_第4张图片

 

参考博客:https://www.cnblogs.com/ZaraNet/p/10136589.html

 

你可能感兴趣的:(Python词云生成(简单整理,不适合作为学习教程))