Wordcloud也能生成一个,带html的词云图文件吗??

发布于:2024-11-29 ⋅ 阅读:(26) ⋅ 点赞:(0)

-------------词云图集合-------------
用Wordcloud+PyQt5写个词云图生成器1.0

WordCloud去掉停用词(fit_words+generate)的2种用法

通过词频来绘制词云图(jieba+WordCloud)

Python教程95:去掉停用词+词频统计+jieba.tokenize示例用法

将进酒—李白process_text词频统计,及词频可视化分析

使用wordcloud模块,绘制一个自定义的词云图形状

使用WordCloud模块中repeat参数,做一个关键字重复的词云图

关于词云图显示异常,出现乱码的解决办法

盘点WordCloud模块,词云图的相关知识点

Python源码05:使用Pyecharts画词云图图

1.简单的说一下实现思路:运行下面代码后,会生成一个名为wordcloud.html的文件,供后端使用。用浏览器打开这个文件,你会看到类似生成如下的词云图。这个示例代码通过Python生成词云图,并将图像转换为base64编码嵌入到HTML文件中,从而实现将词云图直接展示在网页上的效果。
在这里插入图片描述

# -*- coding: utf-8 -*-
# @Author : 小红牛
# 微信公众号:WdPython
import io
import base64
from wordcloud import WordCloud
import matplotlib.pyplot as plt

# 1.准备一个词频字典
word_freq = {
    '李白': 700,
    '杜甫': 700,
    '李贺': 400,
    '苏东坡': 550,
    '杨过': 160,
    '张三丰': 100,
    '鬼谷子': 200,
    '韩信': 800,
    '姜尚': 900,
    '满江红': 90,
    '葬花吟': 50,
}
# 2.生成词云图的时候,如果含有中文的字,一定要添加一个中文的字体
# 如simkai.ttf为楷体
w = WordCloud(width=800, height=400, background_color='white',
              colormap='plasma', font_path='simkai.ttf')

w.fit_words(word_freq)

# 3.创建一个临时文件来保存图像
buffer = io.BytesIO()
plt.figure(figsize=(10, 5))
plt.imshow(w, interpolation='bilinear')
plt.axis('off')  # 关闭坐标轴
plt.savefig(buffer, format='png')
plt.close()

# 4.将图像转换为base64编码
buffer.seek(0)
img_str = base64.b64encode(buffer.read()).decode('utf-8')

# 5.创建HTML文件内容
html_content = f"""
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>我的Python教程</title>
    <style>
        body {{
            text-align: center;
            padding-top: 50px;
            background-color: #f0f0f0;
        }}
        img {{
            max-width: 100%;
            height: auto;
        }}
    </style>
</head>
<body>
    <h1>——中文词云图——</h1>
    <img src="data:image/png;base64,{img_str}" alt="Word Cloud">
</body>
</html>
"""

# 将HTML内容写入文件
with open('wordcloud.html', 'w', encoding='utf-8') as file:
    file.write(html_content)

print('wordcloud.html文件已经生成!!')

完毕!!感谢您的收看

----------★★历史博文集合★★----------

我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具 NumPy Pygame