当前位置:   article > 正文

python绘制词云图(内附背景图,简单项目易上手)_python提取图片的轮廓做词云图的背景

python提取图片的轮廓做词云图的背景

本项目前期用jieba分词然后用wordcloud绘制词云图
环境python3.8 使用IDE为pycharm

1.需要导入的包

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2.jieba分词生成词频字典

text=pd.read_csv('tongjifenxi-zhihu.csv')
with open('中文停用词.txt','r', encoding='utf-8') as f:
    #print(f.readlines())
    stopwords=f
    stop=[x.strip() for x in f.readlines()]#
dic={}
for i in text['zhaiyao']:
    for st in [' ',')',',','。','—','、','的','年','为',',']:#针对性去停用词
        i=i.replace(st,'')
    words=jieba.lcut(i)#返回列表
    #print(words)
    for i in words:
        if i in stop:
         words.remove(i)#按元素删除
    #print(words)

    for n in words:
        dic[n]=dic.get(n,0)+1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

text的zhaiyao列为纯文本,展示读取text.zhaiyao[0]第一行内容:
在这里插入图片描述
最后处理为:
在这里插入图片描述

3.绘制词云图

img=Image.open(r'rio.png')#打开背景图 自定义
font = r'C:\Windows\Fonts\FZSTK.TTF'
img_array = np.array(img) #将图片装换为数组
wc = WordCloud(
    background_color='white',
    width=1000,
    height=800,
    mask=img_array ,#设置背景图片
    #stopwords=stop,
    font_path=font
)
wc.generate_from_frequencies(dic)
plt.imshow(wc)
plt.axis('off')#隐藏坐标轴
plt.show()  #显示图片
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

在这里插入图片描述
分享几个底板背景图给大家:
在这里插入图片描述

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/822781
推荐阅读
相关标签
  

闽ICP备14008679号