您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# 怎么用Pyecharts制作词云图
## 一、Pyecharts简介
Pyecharts是一个基于Echarts的Python可视化库,能够生成多种交互式图表。相较于Matplotlib等传统库,Pyecharts具有以下优势:
- 丰富的图表类型(30+种)
- 高度可定制的交互功能
- 支持Web环境直接渲染
- 简洁的API设计
词云图(Word Cloud)作为文本数据可视化的重要形式,在Pyecharts中通过`WordCloud`类实现。
## 二、环境准备
### 1. 安装Pyecharts
```bash
pip install pyecharts
import pyecharts
print(pyecharts.__version__)
如需输出为HTML或图片,需安装:
pip install pyecharts-snapshot # 导出图片
pip install jinja2 # HTML模板支持
词云数据格式为[(word1, count1), (word2, count2), ...]
的列表:
data = [
("Python", 100),
("数据分析", 85),
("机器学习", 70),
("可视化", 60),
("人工智能", 50),
("深度学习", 45)
]
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") # 生成HTML文件
word_size_range
: 控制单词显示大小的范围shape
: 词云形状(默认为圆形)rotate_step
: 单词旋转角度间隔使用mask_image
参数指定形状图片(需配合pillow
库):
wc = (
WordCloud()
.add("", data,
word_size_range=[20, 100],
shape="diamond", # 内置形状
mask_image="python-logo.png") # 自定义图片
)
.add("", data,
word_gap=20,
textstyle_opts=opts.TextStyleOpts(
color=["#FF0000", "#00FF00", "#0000FF"] # 颜色循环列表
))
.set_global_opts(
tooltip_opts=opts.TooltipOpts(is_show=True),
toolbox_opts=opts.ToolboxOpts(is_show=True) # 显示工具栏
)
import jieba
from collections import Counter
text = "Python是一种广泛使用的高级编程语言..." # 长文本
words = jieba.lcut(text)
word_counts = Counter(words).most_common(50)
wc = (
WordCloud()
.add("", word_counts,
word_size_range=[15, 80],
shape="cardioid",
textstyle_opts=opts.TextStyleOpts(font_family="Microsoft YaHei"))
.set_global_opts(
title_opts=opts.TitleOpts(title="Python技术热词分析"),
tooltip_opts=opts.TooltipOpts(formatter="{b}: {c}")
)
)
wc.render("tech_wordcloud.html")
word_gap
控制单词间距background_color="#F5F5F5"
解决方案:
from pyecharts.globals import CurrentConfig
CurrentConfig.ONLINE_HOST = "https://cdn.jsdelivr.net/npm/echarts@latest/dist/"
# 或在add方法中指定字体
textstyle_opts=opts.TextStyleOpts(font_family="SimHei")
确保已安装:
pip install snapshot_selenium
.add(series_name="",
data_pair=data,
is_draw_out_of_bound=False, # 不绘制超出画布的词语
layout_algorithm="squarified")
from flask import Flask
app = Flask(__name__)
@app.route("/")
def show_wordcloud():
return wc.render_embed() # 嵌入网页
import random
def random_data():
return [("词"+str(i), random.randint(1,100)) for i in range(20)]
wc.add("", random_data(), is_animation=True) # 启用动画
Pyecharts制作词云图的核心步骤:
1. 准备(词语, 权重)
格式的数据
2. 创建WordCloud
实例
3. 通过add()
方法配置样式
4. 使用render()
输出结果
进阶技巧:
- 使用Page()
组合多个图表
- 通过Overlap()
实现图表叠加
- 自定义主题样式(ThemeType
)
通过本文介绍的方法,您可以快速创建专业级的词云可视化效果。Pyecharts的丰富API还能满足更多个性化需求,建议参考官方文档探索更多可能性。
官方文档链接:https://pyecharts.org “`
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。