用Python简单的绘制词云图,分析展示热点话题

平常我们爬的评论、弹幕等等,数量又多又密,根本看不过来,这时候数据分析的作用来了,今天我们就试试用Python根据这些数据,来绘制词云图进行热词分析。

知识点

  • 文件读写
  • 基础语法
  • 字符串处理
  • 文件生成
  • 数据构建

代码展示

# 导入系统包
import platform
from flask import Flask, render_template
from pyecharts import options as opts
from pyecharts.charts import *
 
 
web = Flask(__name__)
 
# 构建数据
# Python学习交流群:708525271
# 更多代码、教程、电子书等等在群里自取即可
words = [("花鸟市场", 1446), ("汽车", 928), ("视频", 906), ("电视", 825), ("动漫", 486), ("音乐", 53), ("直播", 163), ("广播电台", 86),
         ("戏曲曲艺", 17), ("演出票务", 6), ("给陌生的你听", 1), ("资讯", 1437), ("科技资讯", 313), ("旅游网站偏好", 512), ("出国游", 382),
         ("考试培训", 473), ("印刷打印", 66), ("知识产权", 32), ("翻译", 22), ("安全安保", 9), ("公关服务", 8), ("商旅服务", 2), ("展会服务", 2),
         ("办公学习", 28), ("应用市场", 23),("母婴育儿", 14), ("游戏", 946), ("手机游戏", 565), ("PC游戏", 353), ("网页游戏", 254), ("游戏机", 188),
         ("模拟辅助", 166), ("护肤品", 177), ("彩妆", 133), ("家居饰品", 29), ("家居日常用品", 10), ("生活服务", 883), ("物流配送", 536),
         ("家政服务", 108), ("摄影服务", 49), ("搬家服务", 38), ("手相", 32), ("公益", 90),
         ]
 
 
def wordCluond_charts() -> WordCloud():
    # 实例化对象
    wordCluond = WordCloud()
    wordCluond.add(series_name="热点分析", data_pair=words, word_size_range=[6, 66],
                   textstyle_opts=opts.TextStyleOpts(font_family="cursive"))
    # 全局置标题、标签
    wordCluond.set_global_opts(
        title_opts=opts.TitleOpts(title="如何绘制词云图展示热点词语分析", subtitle="菜鸟实战,坚持学习!"),
 
    )
    return wordCluond
 
 
# 获取对象
p = wordCluond_charts()
# 绘制图形。path为指定路径,生成HTML文件的一个路径
p.render('./templates/wordCluond_charts.html')
 
 
# 添加路由显示图表
@web.route('/')
def index():
    return render_template('wordCluond_charts.html')
 
 
if __name__ == "__main__":
    # 运行项目
    web.run(debug=False)
 
print("Python 版本", platform.python_version())

 

效果展示

可以看到,当前花鸟市场最显眼,其次是资讯,这样子热词一目了然。

好了,今天的分享就到这里。

posted @ 2022-10-18 20:38  轻松学Python  阅读(398)  评论(0编辑  收藏  举报