python生成词云

python生成词云

  1. 通过wordcloud 模块实现 词云,效果图:
    python生成词云_第1张图片
    效果图2:
    python生成词云_第2张图片
    效果图3:
    python生成词云_第3张图片

  2. wordcloud 的安装

    pip install wordcloud  
    

    或https://www.lfd.uci.edu/~gohlke/pythonlibs/中去下载:
    python生成词云_第4张图片
    下载完后:

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

图一代码:

from wordcloud import WordCloud
import matplotlib.pyplot as plt  #绘制图像的模块
import  jieba                    #jieba分词

path_txt='C:\project\love_en.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:\project\love_en.txt'
	   path_img = r"C:\Users\admin\Desktop\web\1.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()

你可能感兴趣的:(情感分析)