-------------词云图集合-------------
用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文件已经生成!!')
完毕!!感谢您的收看
----------★★历史博文集合★★----------