词云图制作
2023-02-18 16:44:28 时间
python实现词云
python实现词云的方式有很多种,例如wordcloud
包、pyecharts
包、stylecloud
包,这里主要介绍两种办法:
- 调用pyecharts包画图
- 调用stylecloud包画图
pyecharts包画词云图
明白要输入什么数据和怎么调整配置就行,比如这里要输入的是数组,数组里面是字典格式key-value,那么我们就根据要求组出数据给包执行就行。
- 基本代码如下
# -*- coding: utf-8 -*-
# @Time : 2022/5/1 16:22
# @Author : MinChess
# @File : wordcloud.py
# @Software: PyCharm
from pyecharts import options as opts
from pyecharts.charts import WordCloud
from pyecharts.globals import SymbolType
# 数据
words = [
('背包问题', 10000),
('大整数', 6181),
('Karatsuba乘法算法', 4386),
('穷举搜索', 4055),
('傅里叶变换', 2467),
('状态树遍历', 2244),
('剪枝', 1868),
('Gale-shapley', 1484),
('最大匹配与匈牙利算法', 1112),
('线索模型', 865),
('关键路径算法', 847),
('最小二乘法曲线拟合', 582),
('二分逼近法', 555),
('牛顿迭代法', 550),
('Bresenham算法', 462),
('粒子群优化', 366),
('Dijkstra', 360),
('A*算法', 282),
('负极大极搜索算法', 273),
('估值函数', 265)
]
# 渲染图
def wordcloud_base() -> WordCloud:
c = (
WordCloud()
.add("", words, word_size_range=[20, 100], shape='diamond') # SymbolType.ROUND_RECT
.set_global_opts(title_opts=opts.TitleOpts(title='WordCloud词云'))
)
return c
# 生成图
wordcloud_base().render('词云图.html')
- 输出为一个网页文件,打开就能查看了
- 文本分词并统计
# coding=utf-8
import jieba
import re
import time
from collections import Counter
from pyecharts import options as opts
from pyecharts.charts import WordCloud
from pyecharts.globals import SymbolType
cut_words = ""
all_words = ""
for line in open('文本.txt', encoding='utf-8'):
line.strip('\n')
seg_list = jieba.cut(line,cut_all=False)
cut_words = (" ".join(seg_list))
all_words += cut_words
c = Counter()
for x in all_words:
if len(x)>1 and x != '\r\n':
c[x] += 1
words = []
for (k,v) in c.most_common(1000):
# print(k, v)
words.append((k,v))
# 渲染图
def wordcloud_base() -> WordCloud:
c = (
WordCloud()
.add("", words, word_size_range=[20, 100], shape=SymbolType.ROUND_RECT)
.set_global_opts(title_opts=opts.TitleOpts(title='词云图'))
)
return c
# 生成图
wordcloud_base().render('词云图.html')
stylecloud画图
stylecloud画的图很好看,无论是颜色还是图案都非常好看,如下图: 更多内容可以查看:
- CSDN博主邓旭东HIT:stylecloud:简洁易用的词云库
在线工具
- Word Art:https://wordart.com/create
相关文章
- React源码学习进阶篇(一)新版React如何调试源码?
- React源码学习进阶(二)初识Fiber架构
- React源码学习进阶(三)rootFiber的创建流程
- React源码学习进阶(四)render流程的入口逻辑详解
- React源码学习进阶(五)beginWork如何处理Fiber
- React源码学习进阶(六)completeWork究竟做了什么
- React源码学习进阶(七)挂载阶段的commitWork
- React源码学习进阶(八)setState底层逻辑
- MATLAB随机波动率SV、GARCH用MCMC马尔可夫链蒙特卡罗方法分析汇率时间序列|附代码数据
- R语言Apriori关联规则、kmeans聚类、决策树挖掘研究京东商城网络购物用户行为数据可视化|附代码数据
- 电量计基础知识介绍:
- 瞧瞧别人家的API接口,那叫一个优雅
- 暴增到 1k star 的开源项目,原来长这样!
- 程序员必备小技能:mac文件备份和清理、常用工具的安装和配置
- 前端小技能:Chrome DevTools中的操作技巧
- SOLIDWORKS 基于浏览器的角色 TOP 10 增强功能
- java小技能:对list集合根据条件进行分组、过滤和字段筛选
- mybatis-plus小技能
- Java小技能:快速创建List常用几种方式
- DBA的技术方向