python设置word背景色_python 绘图的背景颜色不要_项目分享|5步教你用Python制作朋友圈个性签名...

前言

今天带大家玩点好玩的东西,用Python制作自己朋友圈个性签名的词云,有趣吧~好了,下面开始干活。我知道你们还是想先看看效果的。

python设置word背景色_python 绘图的背景颜色不要_项目分享|5步教你用Python制作朋友圈个性签名..._第1张图片

环境准备

语言环境:Python 3.6

工具:Pycharm

操作系统:windows or MacOS

用到的扩展库

itchat:用来收集微信相关信息。

jieba:是一个强大的分词库,完美支持中文分词。

matplotlib:Matplotlib 是 Python 的绘图库。它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。它也可以和图形工具包一起使用,如 PyQt 和 wxPython

wordcloud:以词语为基本单位,更加直观和艺术的展示文本的一个小词云生成器

import itchat

import re

import jieba

import matplotlib.pyplot as plt

from wordcloud import WordCloud

from wordcloud import ImageColorGenerator

import numpy as np

import PIL.Image as Image

代码实现

第一步,登录微信并获取签名信息

用 itchat 库登录微信后用 get_friends 方法获取微信朋友全部信息,信息包括:昵称、备注名、性别、地区、个性签名等等。个性签名用的是 Signature 字段,很多我们不需要的我们可以选择性剔除,例如:空格,表情等

signlist = []

itchat.auto_login() #登录微信

friends = itchat.get_friends(update=True)[0:]

for i in friends:

signature = i['Signature'].strip().replace('span','').replace('class','').replace('emoji','').replace('n','').replace('"','') #去除无用字符

rep = re.compile("1fd+w*|[<>/=]")

signature = rep.sub('',signature)

signlist.append(signature)

text = "".join(signlist)

分词

简单来说就是将一句话拆分开来,例如【今天也是充满希望的一天】,可以拆分为【今天,也是,充满,希望,的,一天】

#分词

cut = jieba.cut(text,cut_all=True)

word = ",".join(cut)

print(word)

绘制词云

把上面所有的中文分词进行处理,做成词云,选择一张图片作为背景。词云还拥有以下几种属性:背景颜色、最大单词数、画布图片、最大字体数、字体路径(电脑自带)、画布比例等。

然后用 matplotlib 库把图的颜色、分词内容写人并显示出来。

coloring = np.array(Image.open("F:photo.jpg")) # 电脑中自定义词云的图片

my_wordcloud = WordCloud(background_color="white", max_words=2000,mask=coloring, max_font_size=70, random_state=48,font_path='./font/msyh.ttf',scale=2).generate(word) # 定义词云背景图颜色、尺寸、字体大小、电脑中字体选择,random_state 为每个单词返回一个PIL颜色,字体路径,画布比例

image_colors = ImageColorGenerator(coloring)

plt.imshow(my_wordcloud.recolor(color_func=image_colors)) # 绘图颜色

plt.imshow(my_wordcloud) # 绘图内容

plt.axis("off")

plt.show() # 显示图片

保存自己的词云,搞定

d = path.dirname(__file__) # project 当前目录

my_wordcloud.to_file(path.join(d, 'xxx.png'))

总结

区区几十行代码,轻轻松松就可以制作自己朋友圈个性签名的词云,无论是生活还是工作,我们没有理由不去利用编程来大幅度提高自己的效率了。

除此之外,简单的Python技术,还可以在工作和生活中实现许多有趣、实用的功能:

● 比如有人用来做股票分析;

● 有人想转行前端,爬过拉勾网里所有前端职位的招聘需求,然后从中分析出哪些框架要求的多,就专攻那些框架学习,再去去找工作;

● 有人用python轻松爬取千张表情包,再也不怕斗图了;

● 有人观影前爬取某电影的猫眼评论和评分,更准确地从眼花缭乱的评论中分析,大家对这电影打高分或低分的原因,还做成了关键词词云……

Python可以为我们的好奇心买单,通过合理设置爬虫和分析工具,我们的生活会远远比目前看到的更加精彩和多样化。

还没开启Python学习的你,不要再在犹豫中耗尽所有可能!

你可能感兴趣的:(python设置word背景色)