当前位置: 首页 > news >正文

wordcloud兼figma的词云图片python生成

文章目录

  • 一.Figma
    • 1.简介
    • 2.特点
  • 二.代码构成
    • 1.详细代码
    • 2.word.py代码详解
    • 3.成果图

一.Figma

1.简介

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

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

2.特点

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

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

二.代码构成

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

1.详细代码

word.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

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

Frame_1.png
20240901193055

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

npm init -y

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

2.word.py代码详解

from wordcloud import WordCloud
import jieba
import matplotlib.pyplot as plt
import imageio
# 使用imageio来加载图像

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

pip install --upgrade wordcloud imageio matplotlib jieba

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

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方法以空格为坐标把词分离

# 掩模图片
mask_image_url = "Frame_1.png"# 读取图片
mask_image = imageio.imread(mask_image_url)font_path = 'C:\Windows\Fonts\simsun.ttc'
# 这里需要一个支持中文的字体文件,宋体

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

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的作用

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.成果图

20240901195022


相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 摄像头的ISP和SOC的GPU有区别吗?
  • 鸿蒙HarmonyOS开发:如何灵活运用服务卡片提升用户体验
  • DMA简述与使用实例
  • [译] RAGFlow 使用说明
  • yield 详解
  • 基于Material Design风格开源的Avalonia UI控件库
  • 鸿蒙OS试题(4)
  • Docker深度探索:精通容器化的未来技术
  • 【NO.15】LeetCode经典150题-135. 分发糖果
  • C#高效内存管理:运用对象池与结构体优化技术
  • 文件上传的学习
  • 功能强大的开源数据中台系统 DataCap 2024.03.9 发布
  • 理解 Maven 依赖范围及编译与运行时的需求
  • C#文件的输入和输出
  • 产品入门篇笔记
  • JavaScript 如何正确处理 Unicode 编码问题!
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • Android 控件背景颜色处理
  • Angular 2 DI - IoC DI - 1
  • Java多态
  • JS实现简单的MVC模式开发小游戏
  • JS专题之继承
  • Laravel5.4 Queues队列学习
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 从零搭建Koa2 Server
  • 记一次删除Git记录中的大文件的过程
  • 开发基于以太坊智能合约的DApp
  • 前端相关框架总和
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 突破自己的技术思维
  • 写给高年级小学生看的《Bash 指南》
  • 阿里云重庆大学大数据训练营落地分享
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • # windows 安装 mysql 显示 no packages found 解决方法
  • # 数据结构
  • #stm32整理(一)flash读写
  • (007)XHTML文档之标题——h1~h6
  • (04)odoo视图操作
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (floyd+补集) poj 3275
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (六)软件测试分工
  • (一)u-boot-nand.bin的下载
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .net快速开发框架源码分享
  • .NET下ASPX编程的几个小问题
  • .pyc文件是什么?
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • @ 代码随想录算法训练营第8周(C语言)|Day53(动态规划)