您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Pyecharts怎么生成词云图
## 一、词云图简介
词云图(Word Cloud)是一种直观展示文本数据的可视化形式,通过字体大小、颜色等视觉元素突出显示高频词汇。在舆情分析、文本挖掘、用户画像等领域有广泛应用。
Pyecharts是基于ECharts的Python可视化库,支持30+种图表类型,其词云图功能通过`WordCloud`类实现,具有以下优势:
- 支持中文显示
- 丰富的样式配置
- 交互式操作
- 多种形状选择
## 二、环境准备
### 1. 安装Pyecharts
推荐使用1.x以上版本:
```bash
pip install pyecharts -U
如需导出为图片,需安装:
pip install pyecharts-snapshot
词云数据格式为[(word1, count1), (word2, count2),...]
的列表:
data = [
("Python", 100),
("数据分析", 85),
("可视化", 70),
("机器学习", 65),
("人工智能", 60),
("深度学习", 55),
("Pyecharts", 50)
]
from pyecharts import options as opts
from pyecharts.charts import WordCloud
wc = (
WordCloud()
.add("", data, word_size_range=[20, 100])
.set_global_opts(title_opts=opts.TitleOpts(title="基础词云图"))
)
wc.render("basic_wordcloud.html")
关键参数说明:
- word_size_range
: 控制最小/最大字体大小
- shape
: 默认为圆形,可选cardioid
(心形)、diamond
等
使用mask_image
参数指定形状图片(需黑白轮廓图):
wc = (
WordCloud()
.add("", data,
word_size_range=[20, 100],
mask_image="python-logo.png") # 替换为实际图片路径
.set_global_opts(title_opts=opts.TitleOpts(title="自定义形状词云"))
通过textstyle_opts
控制文字样式:
.add("", data,
textstyle_opts=opts.TextStyleOpts(
color=["#c23531", "#2f4554", "#61a0a8", "#d48265"]
))
.add("", data,
rotate_step=45) # 旋转角度间隔
.set_global_opts(
tooltip_opts=opts.TooltipOpts(is_show=True),
toolbox_opts=opts.ToolboxOpts(
is_show=True,
feature={
"saveAsImage": {},
"restore": {}
}
)
)
import jieba
from collections import Counter
text = """这里是你的新闻文本内容..."""
words = jieba.lcut(text)
word_counts = Counter(words).most_common(100)
# 过滤停用词
stopwords = ["的", "了", "在"]
data = [(w, c) for w, c in word_counts if len(w) > 1 and w not in stopwords]
wc = (
WordCloud()
.add("新闻热词", data,
shape="diamond",
word_gap=10,
word_size_range=[15, 80],
mask_image="news.png")
.set_global_opts(
title_opts=opts.TitleOpts(
title="新闻关键词分析",
subtitle="基于2023年1-6月数据"
),
tooltip_opts=opts.TooltipOpts(
formatter="{b}: {c}次出现"
)
)
)
wc.render("news_wordcloud.html")
确保在代码开头设置:
from pyecharts.globals import CurrentConfig
CurrentConfig.ONLINE_HOST = "https://cdn.jsdelivr.net/npm/echarts@5.4.3/dist/"
检查是否安装pyecharts-snapshot
,导出代码:
from pyecharts.render import make_snapshot
make_snapshot("snapshot.html", wc.render(), "output.png")
enable_animation=False
关闭动画效果from flask import Flask
app = Flask(__name__)
@app.route("/wordcloud")
def show_wordcloud():
return wc.render_embed()
import random
def random_update():
for item in data:
item[1] += random.randint(0, 10)
wc.update_options(series=[{"data": data}])
推荐使用WordArt.com生成形状模板
Pyecharts的词云功能既适合快速原型开发,也能满足专业可视化需求。通过本文介绍的方法,你可以: 1. 快速生成基础词云 2. 实现高级定制效果 3. 解决常见问题 4. 应用到实际业务场景
建议结合官方文档(pyecharts.org)探索更多可能性。 “`
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。