【Python | 词云】聊天记录绘制超美词云(七夕快乐 ,曾同学)

简介: 【Python | 词云】聊天记录绘制超美词云(七夕快乐 ,曾同学)

七夕快乐 ! 🎉

—— "我发现我心里众生平等,只有你一个超重"
• 1

图片.png

解释器:python.3.9

编译器:jupyter notebook

时间:8/4 10:20

文章目录

一、打开聊天记录文件

本次聊天记录是收集于我和曾同学QQ一年以来的聊天记录,一起看看你们情侣间说过最多的是哪句话吧!

  • 代码
import re
import wordcloud
import PIL
import numpy as np
import jieba
chat = open('./Princess(2023624240).txt',mode='r',encoding='utf-8')
text = chat.read()

图片.png

二、 处理聊天记录

2.1 去除无用信息

每条信息共同点都是:

日期 用户名
信息
[换行]

图片.png

使用re模块 去除不需要的 [图片], 用户名和 换行符\n , 以及日期和高频率的系统消息

re_text = re.sub('[图片]|老板来碗杂碎面|@waaaaaaaaaaaaaaa|Princess|prince|\n|202\d-\d{2}-\d{2} \d{1,}:\d{2}:\d{2}|撤回了一条消息,并坏笑了一下。|ss|[表情]|系统消息|','',text)
re_text

输出:

图片.png

2.2 中文分词

这里用第三方分词库 jieba

jieba_text = jieba.lcut(re_text)
jieba_text

输出:

图片.png

以空格连接各个词语

result_text = ' '.join(jieba_text)
result_text

输出:

图片.png

三、绘制词云

wcd_z = wordcloud.WordCloud(font_path='./../font/Muyao.TTF/',mode='RGBA',colormap='Reds',background_color=None,repeat=True,max_words=200,width=800,height=600,max_font_size=100)
wcd_z.generate(result_text)
wcd_z.to_image()

图片.png

3.1 colormap 修改主色调

图片.png

色调库: https://www.matplotlib.org.cn/gallery/color/colormap_reference.html

这里使用 现在的季节夏天 autumn

wcd_z = wordcloud.WordCloud(font_path='./../font/Muyao.TTF/',mode='RGBA',colormap='autumn',background_color=None,repeat=True,max_words=200,width=800,height=600,max_font_size=100)
wcd_z.generate(result_text)
wcd_z.to_image()

输出:

图片.png

3.2 导入图片轮廓

导入准备好的图片, 使用ps工具扣除不想要的背景, 这里为了最好看,我用了四组不同的背景(最好看那张的是自己画的🤭)

导入处理好的四张图片

mask1 = np.array(PIL.Image.open('./qixi.png',mode='r'))
mask2 = np.array(PIL.Image.open('./qixi2.png',mode='r'))
mask3 = np.array(PIL.Image.open('./qixi3.png',mode='r'))
mask4 = np.array(PIL.Image.open('./qixi4.png',mode='r'))

原图:

图片.png

3.3 图片样式一

wcd_z = wordcloud.WordCloud(font_path='./../font/Muyao.TTF/',mode='RGBA',mask=mask1,colormap='autumn',background_color=None,repeat=True,max_words=500,min_font_size=1,width=800,height=600,max_font_size=100)
wcd_z.generate(result_text)
wcd_z.to_image()

图片.png

3.4 图片样式二

wcd_z = wordcloud.WordCloud(font_path='./../font/Muyao.TTF/',mode='RGBA',mask=mask2,colormap='autumn',background_color=None,repeat=True,max_words=500,min_font_size=1,width=800,height=600,max_font_size=100)
wcd_z.generate(result_text)
wcd_z.to_image()

图片.png

3.5 图片样式三

wcd_z = wordcloud.WordCloud(font_path='./../font/Muyao.TTF/',mode='RGBA',mask=mask3,colormap='tab20',background_color=None,repeat=True,max_words=600,min_font_size=1,width=800,height=600,max_font_size=100)
wcd_z.generate(result_text)
wcd_z.to_image()

图片.png

3.6 图片样式四

wcd_z = wordcloud.WordCloud(font_path='./../font/Muyao.TTF/',mode='RGBA',mask=mask4,colormap='tab20',background_color=None,repeat=True,max_words=1400,min_font_size=1,width=800,height=600,max_font_size=100)
wcd_z.generate(result_text)
wcd_z.to_image()

图片.png

图片.png

你来了,一只绿色的月亮,掉进我年轻的船舱。
                  ——海子《海上婚礼》



相关文章
|
2天前
|
前端开发 Python
python制作七夕音乐贺卡
本篇博文是一个关于制作音乐贺卡的教程。自己在去年的在七夕节期间创作了一个代码项目,允许用户自定义背景、音乐和祝福语,生成一个包含音乐的HTML贺卡。教程分为三个部分:前言、制作流程和具体代码。前言提到,由于找不到现成的音乐贺卡模板,我决定自己动手,制作的贺卡适用于各种节日。制作流程包括两个步骤,一是通过提供的Python代码工具选择背景图片、音乐文件和输入祝福语,生成HTML贺卡;二是提供了一个预打包的exe文件,用户可以直接运行并按照提示操作。最后,文章分享了生成贺卡的具体Python代码,并以一句鼓励的话语结尾,强调了努力和选择的重要性。
22 4
|
7月前
|
前端开发 测试技术 Linux
芯片人的快乐——python+systemverilog用波形祝你新春快乐 |献上祝福语波形生成器|
芯片人的快乐——python+systemverilog用波形祝你新春快乐 |献上祝福语波形生成器|
|
3月前
|
Linux 定位技术 iOS开发
【Python实现坦克大战,带你找回童年的快乐】附源码
【Python实现坦克大战,带你找回童年的快乐】附源码
49 0
|
4月前
|
Python Java Go
Python每日一练(20230409) 字符串拆分数值求和、快乐数、格雷编码
Python每日一练(20230409) 字符串拆分数值求和、快乐数、格雷编码
42 0
Python每日一练(20230409) 字符串拆分数值求和、快乐数、格雷编码
|
6月前
|
自然语言处理 搜索推荐 Python
使用python读取word统计词频并生成词云
使用python读取word统计词频并生成词云
80 0
|
6月前
|
数据挖掘 Python
python之电脑信息数据分析实战基于 词云 柱状图 饼图 实验报告 代码+数据
python之电脑信息数据分析实战基于 词云 柱状图 饼图 实验报告 代码+数据
34 0
|
7月前
|
Python
Python绘制爱心代码(七夕限定版)
Python绘制爱心代码(七夕限定版)
206 0
Python绘制爱心代码(七夕限定版)
|
8月前
|
存储 Serverless Python
怎么用Python制作一个七夕爱心?
怎么用Python制作一个七夕爱心?
66 0
|
9月前
|
存储 数据处理 计算机视觉
【小白必看】Python词云生成器详细解析及代码实现
【小白必看】Python词云生成器详细解析及代码实现
377 1
|
9月前
|
自然语言处理 数据可视化 搜索推荐
python数据可视化——词云
python数据可视化——词云