词云图-wordcloud

wordcloud参数:
font_path:字体路径
width:画布宽
height:画布高
prefer_horizontal:调整词云中字体水平和垂直
mask:掩膜,产生词云背景的区域,指定词云形状
scale:计算和绘图之间的缩放
min_font_size:指定词云最小字号(默认4号)
max_font_size:指定词云最大字号
max_words:最大单词量(默认200)
stopwords:禁用词
background_color:词云的背景颜色
font_step:指定词云中字体字号的步进间隔(默认1)

import re
import jieba #分词
from wordcloud import WordCloud
import matplotlib.pyplot as plt #数据可视化
import numpy  as np  #科学计算
from PIL import Image #图片

获取目标文本及停用词

txt = open('D:/天津.txt','r',encoding='utf-8').read()
exc={'一个','你们','如果','而且','还是','这种','好像','接入'}

方法一:先处理数据,将文本中的停用词去除

def check_filter(keywords, text):
    return re.sub("|".join(keywords), "", text)
list = check_filter(exc, txt)

中文需要先进行分词,并使用空格连接(这一步很重要)

list_center = jieba.cut(list, cut_all=False)
world_center = " ".join(list_center)

生成词云图,这里建议在WordCloud()里面使用stopwords去除停用词。font_path填入字体所在的路径,若不写则无法识别,如图:
在这里插入图片描述
路径不要携带中文字符,字体文件一般为.ttc或.ttf。

backgroud=np.array(Image.open("D:\code\star.jpg")) #背景图片
worldC = WordCloud(
    background_color="white",
    font_path='C:\Windows\Fonts\Microsoft YaHei UI\msyhl.ttc', #字体路径
    max_words=1000,
    max_font_size=100,
    mask=backgroud #设置词云形状
)
worldC.generate(world_center)
plt.imshow(worldC, interpolation='bilinear')#显示词云
plt.xticks([]) #去除x轴坐标
plt.yticks([])#去除y轴坐标
plt.show()
worldC.to_file('词云图.png') #保存图片

最终效果图:
在这里插入图片描述

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值