Python 制作词云图

2024-06-12 10:20
文章标签 python 制作 云图

本文主要是介绍Python 制作词云图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


在这里插入图片描述
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
在这里插入图片描述

  • 推荐:「stormsha的主页」👈,持续学习,不断总结,共同进步,为了踏实,做好当下事儿~

  • 专栏导航

    • Python系列: Python面试题合集,剑指大厂
    • Git系列: Git操作技巧
    • GO系列: 记录博主学习GO语言的笔记,该笔记专栏尽量写的试用所有入门GO语言的初学者
    • 数据库系列: 详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 运维系列: 总结好用的命令,高效开发
    • 算法与数据结构系列: 总结数据结构和算法,不同类型针对性训练,提升编程思维

    非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

    💖The Start💖点点关注,收藏不迷路💖

    📒文章目录

      • 词云图简介
      • 环境准备
      • 词云图的基本制作流程
        • 1. 文本数据准备
        • 2. 文本清洗
        • 3. 生成词云图
        • 4. 显示和保存词云图
        • 5. 完整代码
        • 6. 效果图
      • 技巧与最佳实践
        • 1. 词云图形状
        • 2. 词云图颜色
        • 3. 词云图字体
        • 4. 词云图布局
        • 5. 词云图的交互性


在数据可视化领域,词云图以其独特的视觉冲击力和信息传达能力,成为开发者和数据分析师展示文本数据的重要工具。本文将深入探讨如何使用 Python 制作词云图,并分享一些实用的技巧和最佳实践。

词云图简介

词云图是一种将文本数据中的关键词以不同大小、颜色和字体显示在图形中的可视化技术。关键词的字体大小通常与其在文本中出现的频率成正比,从而突出显示文本中的重要信息。

环境准备

在开始制作词云图之前,我们需要准备 Python 环境,并安装一些必要的库。主要使用的库包括 matplotlib 用于绘图,PIL 用于图像处理,以及 wordcloud 用于生成词云图。

pip install wordcloud

词云图的基本制作流程

1. 文本数据准备

首先,我们需要准备或获取文本数据。这些数据可以是网页内容、文章、评论等。例如,我们可以使用 Python 的 requests 库来获取网页内容。

import requestsurl = 'https://stormsha.blog.csdn.net/article/details/138405944/'
response = requests.get(url)
html_content = response.text

2. 文本清洗

获取文本后,需要进行清洗,去除无用的符号、停用词等,以提高词云图的质量。

import re
from wordcloud import STOPWORDS# 使用BeautifulSoup解析网页内容  
soup = BeautifulSoup(html_content, 'html.parser')  # 使用get_text()方法去除HTML标签,并将结果转换为字符串  
text = soup.get_text()  text = re.sub(r'\W+', ' ', text)
stopwords = set(STOPWORDS)
text = ' '.join([word for word in text.split() if word not in stopwords])

3. 生成词云图

使用 wordcloud 库生成词云图。我们可以自定义词云图的形状、颜色、字体等属性。

from wordcloud import WordCloudwordcloud = WordCloud(width=800, height=400, background_color='white').generate(text)

4. 显示和保存词云图

最后,使用 matplotlib 库显示和保存词云图。

import matplotlib.pyplot as pltplt.figure(figsize=(10, 5))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()
wordcloud.to_file('word_cloud.png')

5. 完整代码

import matplotlib  
import requests  
import re  
from wordcloud import STOPWORDS, WordCloud  
import matplotlib.pyplot as plt  
from bs4 import BeautifulSoup  matplotlib.use('TkAgg')  
url = 'https://stormsha.blog.csdn.net/article/details/138405944/'  
response = requests.get(url)  
html_content = response.text  # 使用BeautifulSoup解析网页内容  
soup = BeautifulSoup(html_content, 'html.parser')  # 使用get_text()方法去除HTML标签,并将结果转换为字符串  
text = soup.get_text()  text = re.sub(r'\W+', ' ', text)  
stopwords = set(STOPWORDS)  
text = ' '.join([word for word in text.split() if word not in stopwords])  
word_cloud = WordCloud(width=800, height=400, background_color='white').generate(text)  
plt.figure(figsize=(10, 5))  
plt.imshow(word_cloud, interpolation='bilinear')  
plt.axis('off')  
plt.show()  
word_cloud.to_file('word_cloud.png')

6. 效果图

![[Figure_1.png]]

技巧与最佳实践

1. 词云图形状

默认的词云图是矩形的,但我们可以自定义词云图的形状,如使用公司 logo 或特定图形作为词云的轮廓。

from PIL import Image
image_coloring = np.array(Image.open('shape.png'))
wordcloud = WordCloud(mask=image_coloring).generate(text)

2. 词云图颜色

颜色对于词云图的视觉效果至关重要。我们可以根据文本内容或个人喜好调整颜色。

wordcloud = WordCloud(colormap='viridis').generate(text)

3. 词云图字体

选择合适的字体可以增强词云图的可读性和美观性。我们可以使用本地字体或在线字体。

wordcloud = WordCloud(font_path='path_to_font.ttf').generate(text)

4. 词云图布局

通过调整词云图的 max_font_sizemax_words 参数,我们可以控制词云图的布局和密度。

wordcloud = WordCloud(max_font_size=110, max_words=200).generate(text)

5. 词云图的交互性

为了使词云图更加生动有趣,我们可以添加交互性,如鼠标悬停显示单词频率。

from wordcloud import get_single_color_funcdef color_func(word, font_size, position, orientation, random_state=None, **kwargs):return "hsl(0, 100%, %d%%)" % (100 - (font_size / max_font_size) * 100)wordcloud = WordCloud(color_func=color_func).generate(text)

🔥🔥🔥道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

💖The End💖点点关注,收藏不迷路💖

这篇关于Python 制作词云图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1053944

相关文章

使用Python创建一个功能完整的Windows风格计算器程序

《使用Python创建一个功能完整的Windows风格计算器程序》:本文主要介绍如何使用Python和Tkinter创建一个功能完整的Windows风格计算器程序,包括基本运算、高级科学计算(如三... 目录python实现Windows系统计算器程序(含高级功能)1. 使用Tkinter实现基础计算器2.

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

Python中模块graphviz使用入门

《Python中模块graphviz使用入门》graphviz是一个用于创建和操作图形的Python库,本文主要介绍了Python中模块graphviz使用入门,具有一定的参考价值,感兴趣的可以了解一... 目录1.安装2. 基本用法2.1 输出图像格式2.2 图像style设置2.3 属性2.4 子图和聚

Python使用Matplotlib绘制3D曲面图详解

《Python使用Matplotlib绘制3D曲面图详解》:本文主要介绍Python使用Matplotlib绘制3D曲面图,在Python中,使用Matplotlib库绘制3D曲面图可以通过mpl... 目录准备工作绘制简单的 3D 曲面图绘制 3D 曲面图添加线框和透明度控制图形视角Matplotlib

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

基于Python打造一个智能单词管理神器

《基于Python打造一个智能单词管理神器》这篇文章主要为大家详细介绍了如何使用Python打造一个智能单词管理神器,从查询到导出的一站式解决,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 项目概述:为什么需要这个工具2. 环境搭建与快速入门2.1 环境要求2.2 首次运行配置3. 核心功能使用指

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

Python中pywin32 常用窗口操作的实现

《Python中pywin32常用窗口操作的实现》本文主要介绍了Python中pywin32常用窗口操作的实现,pywin32主要的作用是供Python开发者快速调用WindowsAPI的一个... 目录获取窗口句柄获取最前端窗口句柄获取指定坐标处的窗口根据窗口的完整标题匹配获取句柄根据窗口的类别匹配获取句

利用Python打造一个Excel记账模板

《利用Python打造一个Excel记账模板》这篇文章主要为大家详细介绍了如何使用Python打造一个超实用的Excel记账模板,可以帮助大家高效管理财务,迈向财富自由之路,感兴趣的小伙伴快跟随小编一... 目录设置预算百分比超支标红预警记账模板功能介绍基础记账预算管理可视化分析摸鱼时间理财法碎片时间利用财