iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >怎么使用Python轻松实现绘制词云图
  • 547
分享到

怎么使用Python轻松实现绘制词云图

2023-07-02 12:07:24 547人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了怎么使用python轻松实现绘制词云图的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Python轻松实现绘制词云图文章都会有所收获,下面我们一起来看看吧。一、一般词云绘制制作词云图首先

这篇文章主要介绍了怎么使用python轻松实现绘制词云图的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Python轻松实现绘制词云图文章都会有所收获,下面我们一起来看看吧。

一、一般词云绘制

制作词云图首先得有词吧,词从哪来,迪迪想了半天硬是没想出来。既然没思路,那就拿过气的后浪软文玩一玩吧,对于后浪大家褒贬不一,迪迪也不敢妄加评论。

首先,咱们把后浪全文保存为HL.txt,截取部分,长这样:

怎么使用Python轻松实现绘制词云图

接着,下载并导入制作词云所需的库,各个库的功能都有注释。

import jieba  #结巴分词from Wordcloud import WordCloud  #词云展示库from PIL import Image  #图像处理库import numpy as np  #支持多维数组和矩阵运算import matplotlib.pyplot as plt  #图像展示库

然后,把HL.txt的内容读出来。

# 读取文本内容with open('HL.txt','r',encoding="UTF-8") as f:    file = f.read()  #将文本读取为整个字符串,readlines可以按行读取

紧接着,咱们需要把读取的整个字符串分成一个个的词,jieba出征,寸草不生。

#进行分词data_cut =jieba.cut(file,cut_all = False) #精确模式分词

分完词后发现,什么逗号啊、分号啊、句号啊也作为单独的词全出来了,那可不行,咱得想办法stop它们。 构建停词表,把看不惯的词remove掉,没错,我不喜欢口口声声的我们你们啥的。

stop_words = [",","。",";","、","我们","你们"]  #自定义停词列表

当然,有朋友会说,你这是因为文本内容少,自己搞个停词表方便,可要是成千上万的文本你这点停词肯定不够用啊。OK,那咱们百度下停词表,随便download一个,保存为stopwords.txt。stopwords.txt共有1893个常用停词,长这样:

怎么使用Python轻松实现绘制词云图

有了停词表,咱得用Python读出来。

stop_words = [] #创建空列表with open("stopwords.txt", 'r', encoding='utf-8') as f:    for line in f:        if len(line)>0:            stop_words.append(line.strip())  #把停词追加到stop_words列表中

停词准备好了,接下来就是remove停词,拿到我们需要的词了。

data_result = [i for i in data_cut if i not in stop_words] #获取需要的词

print一下data_result,长这样:

怎么使用Python轻松实现绘制词云图

这可不行,咱们需要的是由一个个词构成的字符串。因此,需要用join函数以空格分隔并将所有词连接成一个新的字符串。replace在这表示将换行(\n)符替换为空。

text = " ".join(data_result).replace("\n","") #连接成字符串print(text)

咱们打印一下text看效果:

怎么使用Python轻松实现绘制词云图

词有了,可以开始设计词云图,由于所有词都是中文,而WordCloud默认不支持中文,摔!咱还得指定字体文件路径,否则会出现乱码。迪迪毕竟学欧体过来的,于是找了个小楷字体,你可以根据自己的喜好设置不同的字体,网上免费字体一大堆。

wc = WordCloud(    #设置字体,不指定就会出现乱码,这个字体文件需要下载    font_path = "演示悠然小楷.ttf",    background_color = "black",    max_words = 5000,)

配置好之后,咱生成图片并展示出来。

# 生成词云图wc.generate(text)# 保存词云图wc.to_file("IMJG.jpg") #保存图片# 展示plt.imshow(wc) #对图片进行处理,并显示其格式plt.axis("off") #关闭坐标轴plt.show() #将图片显示出来

效果如下:

怎么使用Python轻松实现绘制词云图

到这,你可能以为迪迪准备写结语了。不好意思,还没完,咱们的目标可不能局限在这,在诗和远方,哦不,是定制属于自己的词云图。 迪迪准备给词云加个自定义的底图,让词云看起来更形象些。想了很久,不知道用什么图合适。于是迪迪打开了好久没用的Photoshop cc,绘制了一个你用美图秀秀都能做的比我好看的png。

怎么使用Python轻松实现绘制词云图

我把这张图片命名为JG.png,并用Image方法打开。

#用Image方法打开图片images = np.array(Image.open("JG.png"))

把images配置到词云wc中去,传给参数mask。

wc = WordCloud(    #设置字体,不指定就会出现乱码,这个字体文件需要下载    font_path = "演示悠然小楷.ttf",    background_color = "black",    max_words = 5000,    mask=images)

重新生成并保存下词云图,效果如下:

怎么使用Python轻松实现绘制词云图

哈哈,略丑。朋友们有兴趣可以自己做个底图或者网上download一个底图试试,底图尽量清晰、颜色尽量突出就好啦。

还有朋友可能会问为啥我文章开头的词云图是一个个句子,这里一并说明下,因为读取HL.txt的时候用的是readlines啊~

二、根据词频绘制词云

一般的词云制作用以上方法就可以啦,但现实生活中我们的需求可能更为复杂,根据词频绘制词云图的案例也更为多见。以下就是J哥经常用到的一个实战案例,开源代码奉上。

大致思路是从Mysql数据库中提取上万条交易记录,用sql语句把交易规模前100的品牌select出来,然后根据各个品牌交易规模的大小制作词云,文字越大的表示交易规模越大。

#-*- coding = uft-8 -*-#@Time : 2020/5/23 10:30 上午#@Author : 我是J哥#@File : my_wordcloud.py#给定词频制作词云图from matplotlib import pyplot as plt   #绘图,数据可视化from wordcloud import WordCloud   #词云from PIL import Image  #图片处理import numpy as np   #矩阵运算import pyMysql   #数据库import pandas as pd  #数据处理#准备词云所需文字(词)conn = pymysql.connect(host="localhost", user="你的", passwd="你的", db="test", port=3306, charset="utf8")cur = conn.cursor()sql = "select brand as name,round(sum(jine)/10000,0) as value from Sc_month5 group by name order by value desc limit 100;"df = pd.read_sql(sql, conn)print(df)name = list(df.name)  #词value = df.value  # 词的频率dic = dict(zip(name, value))  # 词频以字典形式存储#print(dic)cur.close()conn.close()img = Image.open("tree.png")img_arry = np.array(img)wc = WordCloud(    background_color="white",    mask=img_arry,    max_words=1000,    max_font_size=500,    #font_path="演示悠然小楷.ttf"    #font_path="有字库龙藏体.ttf"    font_path="演示悠然小楷.ttf")wc.generate_from_frequencies(dic)  #以词频生成词云#绘制图片fig = plt.figure(1)plt.imshow(wc)plt.axis("off")plt.show()#输出词云图片到文件plt.savefig("JGJG.jpg",dpi=400)

生成的词云图长这样:

怎么使用Python轻松实现绘制词云图

关于“怎么使用Python轻松实现绘制词云图”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“怎么使用Python轻松实现绘制词云图”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网Python频道。

--结束END--

本文标题: 怎么使用Python轻松实现绘制词云图

本文链接: https://www.lsjlt.com/news/341830.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么使用Python轻松实现绘制词云图
    这篇文章主要介绍了怎么使用Python轻松实现绘制词云图的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Python轻松实现绘制词云图文章都会有所收获,下面我们一起来看看吧。一、一般词云绘制制作词云图首先...
    99+
    2023-07-02
  • 使用Python轻松实现绘制词云图项目(附详细源码)
    目录项目背景项目实操一、一般词云绘制二、根据词频绘制词云结 语项目背景 虽然现在已经有很多现成的制作词云图的工具了,但一般存在以下几个问题: 问题一:工具太多,眼花缭乱,质量参差不齐...
    99+
    2024-04-02
  • Python中怎么使用pyecharts绘制词云图
    这篇文章主要讲解了“Python中怎么使用pyecharts绘制词云图”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中怎么使用pyecharts绘制词云图”吧!词云图什么是词云图...
    99+
    2023-07-02
  • python绘制词云图的代码怎么写
    要绘制词云图,你可以使用Python中的wordcloud库。以下是一个简单的例子: from wordcloud import W...
    99+
    2024-04-09
    python
  • python怎么制作词云图
    要制作词云图,可以借助Python中的wordcloud包来实现。首先,需要安装wordcloud包。可以使用以下命令安装:```p...
    99+
    2023-08-18
    python
  • Python实现爬取某站视频弹幕并绘制词云图
    目录前言爬取弹幕爬虫基本思路流程导入模块代码制作词云图导入模块读取弹幕数据前言 [课 题]: Python爬取某站视频弹幕或者腾讯视频弹幕,绘制词云图 [知识点]: 1. 爬虫基本流...
    99+
    2024-04-02
  • python怎么用pyecharts制作词云图
    这篇文章给大家分享的是有关python怎么用pyecharts制作词云图的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。需要安装pyechartspip install pyecharts&nb...
    99+
    2023-06-28
  • Python怎么实现甘特图绘制
    这篇“Python怎么实现甘特图绘制”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python怎么实现甘特图绘制”文章吧。前...
    99+
    2023-07-06
  • 使用python生成云词图实现画红楼梦词云图
    目录在用Python绘制红楼梦词云图文章中讲到我们使用Python把红楼梦中的核心词汇给绘画出来了,但是,红楼梦这么唯美的书,给我们乌漆麻黑的搞了一张词云,宝宝们肯定接受不了 那怎...
    99+
    2024-04-02
  • 怎么使用python绘制火山图
    这篇文章主要讲解了“怎么使用python绘制火山图”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用python绘制火山图”吧!导入模块import numpy as...
    99+
    2023-07-02
  • 怎么使用python绘制雷达图
    这篇文章主要介绍了怎么使用python绘制雷达图,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python有哪些常用库python常用的库:1.requesuts;2.scr...
    99+
    2023-06-14
  • 教你使用ECharts和golang轻松绘制各类统计图表
    教你使用ECharts和golang轻松绘制各类统计图表简介:在数据可视化领域,ECharts是一种非常流行的JavaScript图表库,它提供了丰富而强大的API,能够绘制各种类型的统计图表。而golang作为一门高效、简洁的编程语言,也...
    99+
    2023-12-18
    Golang echarts 统计图表
  • Python如何实现爬取某站视频弹幕并绘制词云图
    这篇文章主要为大家展示了“Python如何实现爬取某站视频弹幕并绘制词云图”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python如何实现爬取某站视频弹幕并绘制词云图”这篇文章吧。前言[课 题...
    99+
    2023-06-22
  • 如何使用ECharts和golang轻松绘制精美的统计图表
    如何使用ECharts和golang轻松绘制精美的统计图表随着数据的不断积累和应用,统计图表已经成为了展示数据的一种重要方式。在该领域中,ECharts作为一款流行的开源JavaScript图表库,其功能强大、易用且支持大量样式和图表类型,...
    99+
    2023-12-18
    Golang echarts 统计图表
  • Python怎么使用pyecharts绘制漏斗图
    本文小编为大家详细介绍“Python怎么使用pyecharts绘制漏斗图”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么使用pyecharts绘制漏斗图”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧...
    99+
    2023-07-02
  • Python怎么使用pyecharts绘制箱形图
    这篇文章主要介绍“Python怎么使用pyecharts绘制箱形图”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python怎么使用pyecharts绘制箱形图”文章能帮助大家解决问题。箱形图概念后...
    99+
    2023-07-02
  • python怎么实现多次绘制条形图
    这篇“python怎么实现多次绘制条形图”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python怎么实现多次绘制条形图”文...
    99+
    2023-06-30
  • 怎么使用Python Matplotlib绘制条形图
    今天小编给大家分享一下怎么使用Python Matplotlib绘制条形图的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一...
    99+
    2023-07-02
  • Python怎么使用pyecharts绘制桑基图
    本篇内容主要讲解“Python怎么使用pyecharts绘制桑基图”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么使用pyecharts绘制桑基图”吧!桑基图桑基图(Sankey ...
    99+
    2023-07-02
  • Python利用matplotlib实现饼图绘制
    目录前言1. 等高线图概述什么是饼图?饼图常用场景绘制等饼图步骤案例展示2. 饼图属性设置饼图的颜色设置标签设置突出部分设置填入百分比数值饼图旋转设置阴影3. 调整饼图的大小4. 添...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作