wordcloud兼figma的词云图片python生成

文章目录

一.Figma

1.简介

Figma是一款全平台可使用的使用软件,和Sketch功能差不多;但是他可以在Mac,Windows PC,Linux计算机甚至Chromebook,目前iPad也可以使用。不再受系统的限制,只要你可以打开网页,理论上基本可以使用这款工具

  1. 它不需要使用苹果笔记本电脑也能使用
  2. 它储存文件不需要占用本地内存
  3. 它可以将你的设计以一个链接的形式分享给所有人

2.特点

  1. 全平台使用
  2. 云端文件
  3. 历史版本
    自动保存功能
  4. 共享协作
  5. 实时协作
  6. 团队沟通
  7. 组件和共享样式

我们通过Figma来准备本次主题的词云生成原型图

二.代码构成

我们在项目中创建该除记号笔标记之外的文件

1.详细代码

word.py

py 复制代码
from wordcloud import WordCloud
import jieba
import matplotlib.pyplot as plt
import imageio
# 使用imageio来加载图像

with open('content.text', 'r', encoding='utf-8') as file:
    text = file.read()

words = ' '.join(jieba.cut(text))

# 掩模图片
mask_image_url = "Frame_1.png"

# 读取图片
mask_image = imageio.imread(mask_image_url)

font_path = 'C:\Windows\Fonts\simsun.ttc'
# 这里需要一个支持中文的字体文件,宋体

wordcloud = WordCloud(font_path=font_path,  # 指定中文字体
                      width=800, height=800,
                      mask=mask_image,  # 这里指定掩模
                      background_color='white',
                      contour_width=0,  # 边缘轮廓宽度
                      contour_color='steelblue',  # 边缘轮廓颜色
                      min_font_size=10).generate(words)

plt.figure(figsize=(8, 8), facecolor=None)
plt.imshow(wordcloud, interpolation="bilinear")  # 使用平滑插值
plt.axis("off")
plt.tight_layout(pad=0)
plt.savefig('wordcloud.png', dpi=800, bbox_inches='tight') # 生成图片

# plt.show()

content.text

text 复制代码
PUA你 CPU你 KTV你 PPT你 UFO你 M3 又幸福了姐 配享太庙 一吃一个不吱声 小孩姐 小孩哥 公主请上车 哈哈哈~惹到我算是提到棉花啦
冤种 小镇做题家 团长 退!退!退! 龙行龘龘 前程朤朤 智能+ 快手短视频 脱光 996 碳中和 city不city 健康最贵 生命无价 好家伙
真有你的 原来如此 大可不必 人间不值得 打工人 干饭人 野性消费 一键三连 后浪 破防了 有内味儿了 绝绝子 硬核 躺平 二次元 真香警告
U1S1 暴躁老哥 懂王 老父亲 电子竞技没有爱情 为爱发电 一键复制

Frame_1.png

由于是虚拟环境conda中运行,需要使用pip或者npm导包,需要初始化

bash 复制代码
npm init -y

以生成一个存包的快捷方式,否则可能导致无法运行

2.word.py代码详解

py 复制代码
from wordcloud import WordCloud
import jieba
import matplotlib.pyplot as plt
import imageio
# 使用imageio来加载图像

首先通过pip安装导包,在该虚拟环境中运行:

bash 复制代码
pip install --upgrade wordcloud imageio matplotlib jieba

代码不爆红即说明导包成功

py 复制代码
with open('content.text', 'r', encoding='utf-8') as file:
    text = file.read()

# 分词
words = ' '.join(jieba.cut(text))

通过with中open与file把content.text中的内容赋予text

利用jieba中的cut方法以空格为坐标把词分离

py 复制代码
# 掩模图片
mask_image_url = "Frame_1.png"

# 读取图片
mask_image = imageio.imread(mask_image_url)

font_path = 'C:\Windows\Fonts\simsun.ttc'
# 这里需要一个支持中文的字体文件,宋体

3个变量把原形模板图片与字体引入

py 复制代码
wordcloud = WordCloud(font_path=font_path,  # 指定中文字体
                      width=800, height=800,
                      mask=mask_image,  # 这里指定掩模
                      background_color='white',
                      contour_width=0,  # 边缘轮廓宽度
                      contour_color='steelblue',  # 边缘轮廓颜色
                      min_font_size=10).generate(words)

定义生成图的样式,类似css的作用

py 复制代码
plt.figure(figsize=(8, 8), facecolor=None) # 设置画布大小
plt.imshow(wordcloud, interpolation="bilinear")  # 使用平滑插值
plt.axis("off") # 关闭坐标轴
plt.tight_layout(pad=0) # 设置紧凑布局
plt.savefig('wordcloud.png', dpi=800, bbox_inches='tight') # 生成图片

利用plt方法将生成图的布局设置,最后通过savefig生成图片

3.成果图


相关推荐
努力的lpp12 小时前
php反序列化一(大白话版)
开发语言·web安全·php·ctf·反序列化
菜鸟~noob23312 小时前
【电子战】第03篇:CFAR(恒虚警)处理【含matlab代码】
开发语言·matlab
泡海椒13 小时前
内置SPI函数库详解:JQuick-Java Builtin工具类实战用法
java·开发语言·python
hqyjzsb13 小时前
零 AI 项目经验,学 Python 转型 AI 的正确顺序是什么?
开发语言·人工智能·python·算法·职场和发展·数据挖掘·数据分析
sanjiaomao33314 小时前
从论文公式到Python实现:用单元测试校验滑动平均算法
python·算法·单元测试
Keven_1114 小时前
算法札记:ACM适用的很骚的C++语法(持续更新)
开发语言·c++
脉动数据行情115 小时前
C# 实现德指 DAX 期货 WebSocket 实时行情监听
开发语言·websocket·c#
大圣编蚕15 小时前
Java ByteArrayInputStream 详解:从入门到实战
java·开发语言·算法
菜鸟~noob23315 小时前
【电子战】第02篇:能量检测器 vs. 相关检测器【含matlab代码】
开发语言·matlab
linweidong16 小时前
中科闻歌Java面试题及参考答案
java·python·大模型·提示词·ai agent·mcp·rag原理