Python100个库分享第23个

您所在的位置:网站首页 肖战印象词云图 Python100个库分享第23个

Python100个库分享第23个

2024-07-11 01:24| 来源: 网络整理| 查看: 265

目录 专栏导读库的介绍库的安装基础使用1:将TXT文本转为词云图基础使用2:使用自定义字体和形状基础使用3:中文词云图+停用词(中英文版)-代码是中文版总结

专栏导读 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️‍🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注 👍 该系列文章专栏:请点击——>Python办公自动化专栏求订阅 🕷 此外还有爬虫专栏:请点击——>Python爬虫基础专栏求订阅 📕 此外还有python基础专栏:请点击——>Python基础学习专栏求订阅 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏 ❤️ 欢迎各位佬关注! ❤️ 库的介绍 wordcloud 是一个在 Python 中广泛使用的第三方库,主要用于根据文本数据生成词云(Word Clouds)。词云是一种可视化技术,它能够有效地展示文本数据中各个词汇的重要性或频率,通常通过字体大小来表示每个词在文本中出现的次数多少,形成类似云彩的图形,从而帮助用户快速识别出文本的主题或者高频词汇。 库的安装 pip install wordcloud -i https://pypi.tuna.tsinghua.edu.cn/simple/ 基础使用1:将TXT文本转为词云图 先百度一篇英文美文,或者中文美文 常用属性 wc = WordCloud( width=800, 词云图宽 height=400, 词云图高 background_color='white', 词云图背景色 font_path='C:/Windows/Fonts/simhei.ttf' 词云图使用系统字体) 配置项类型默认值含义font_pathstring字体路径widthint400画布宽度heightint200画布高度marginint2词云图像的边距大小,以像素为单位prefer_horizontalfloat0.9词语水平排列的偏好程度,>=1 水平排列masknd-array or NoneNone词云的形状遮罩,使得词云图像能够按照指定的形状排列词语contour_widthfloat0轮廓线的宽度contour_colorcolor value“black”轮廓线的颜色scalefloat1词云图像的缩放比例,即词云图像计算出来的大小相对于形状遮罩或者画布的大小的比例min_font_sizeint4最小字体大小font_stepint1字体的步长,关系词语间大小间隔max_wordsnumber200词语最大数量stopwordsset of strings or NoneSTOPWORDS要排除的词语random_stateintNone随机数生成器的种子background_colorcolor value”black”背景颜色max_font_sizeint or NoneNone最大字体大小modestring”RGB”主要有"RGB",“RGBA”,后者可以控制透明度relative_scalingfloat‘auto’单词频率对字体大小影响,较大的值将增加词语之间的大小差异color_funccallableNone自定义的颜色函数,该函数决定了词云中每个词语的颜色regexpstring or NoneNone从输入文本中提取满足正则的词语,可选collocationsboolTrue是否考虑词组colormapstring or matplotlib colormap”viridis”词云的颜色映射,即词云中每个词语的颜色分布。常见的颜色映射包括单色映射(如灰度"gray")、渐变映射(“viridis”、“magma” 和 “inferno”)normalize_pluralsboolTrue通过结尾为s 判断复数形式是否被视为同一个词repeatboolFalse词语是否重复出现include_numbersboolFalse是否包含数字min_word_lengthint0单词必须包含的最小字母数collocation_thresholdint30词语搭配(Collocations)的显示阈值 import os from wordcloud import WordCloud # 获取当前py文件路径 # 读取文本 text = open("./test.txt").read() wordcloud = WordCloud().generate(text) wordcloud.to_file('1.jpg') image = wordcloud.to_image() image.show()

在这里插入图片描述

from wordcloud import WordCloud import matplotlib.pyplot as plt # 假设我们有一个字符串变量包含文本数据 text = open('test2.txt', 'r',encoding='utf-8').read() # 创建词云对象 wc = WordCloud(width=800, height=400, background_color='white',font_path='C:/Windows/Fonts/simhei.ttf') # 生成词云 wc.generate(text) # 显示词云 plt.imshow(wc, interpolation='bilinear') plt.axis("off") # 不显示坐标轴 plt.show()

在这里插入图片描述

基础使用2:使用自定义字体和形状 2.1,先通过一张普通图片制作mask 需安装 【opencv】 ip install opencv-python==4.3.0.38 转msk代码 import cv2 import numpy as np from PIL import Image # 读取普通照片 image = cv2.imread('background.png') # 将图像转换为灰度图 gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 二值化图像,将图像转换为黑白二值图像 _, mask_image = cv2.threshold(gray_image, 250, 255, cv2.THRESH_BINARY) # 保存生成的蒙版图像 cv2.imwrite('mask_image.png', mask_image) import matplotlib.pyplot as plt plt.figure(figsize=(10, 5)) # 显示第一张图片 plt.subplot(1, 2, 1) plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)) plt.title('Color Image') plt.axis('off') # 显示第二张图片 plt.subplot(1, 2, 2) plt.imshow(cv2.cvtColor(mask_image, cv2.COLOR_BGR2RGB)) plt.title('Mask Image') plt.axis('off') # 显示图片 plt.show()

在这里插入图片描述

# -*- coding: UTF-8 -*- ''' @Project :wordclound @File :wordclund.py @IDE :PyCharm @Author :一晌小贪欢([email protected]) @Date :2024/4/17 20:57 ''' from PIL import Image import numpy as np from wordcloud import WordCloud, STOPWORDS text = open('txt1.txt', encoding='utf-8').read() alice_mask = np.array(Image.open( "mask_image.png")) stopwords = set(STOPWORDS) stopwords.add("said") wc = WordCloud(background_color="white", max_words=2000, mask=alice_mask, stopwords=stopwords, contour_width=3, contour_color='steelblue') wc.generate(text) wc.to_file("alice.png") image = wc.to_image() image.show() 图片处理的不是很好

在这里插入图片描述

基础使用3:中文词云图+停用词(中英文版)-代码是中文版 中英文停用词下载:https://pan.baidu.com/s/1K-fbpcbHJzM67Jq1O4YLZQ

时光不停地向前流去,天气渐渐地凉爽起来,吵人的蝉声被秋天吹散 了,代替它的是晚间阶下石板缝里蟀的悲鸣。啊!那可爱的秋天终于来了。 秋天,比春天更有欣欣向荣的景象,花木灿烂的春天固然美丽,然而 硕果累累的秋色却透着丰收的喜悦;秋天,比夏天更有五彩缤纷的景象,枝叶茂密的夏天虽然迷人,可是,金叶满树的秋色却更爽气宜人:秋天,比冬天更有生机勃勃的景象,白雪的冬天固然可爱,但是,瓜果飘香的金秋却更富有灿烂绚丽的色彩。秋天来到了树林里,从远处看,黄叶纷落好似成群结对的金色的蝴蝶,它们飞累了,落到了我的肩膀上、头上、脚上。把我的思绪从绿色的夏日带到了金色的秋季。我一转身,一片桃叶又落在我身 旁,我弯腰拾起,捧在手上,细细地端详,好特别地一片秋叶呀!它还没来得急完全退去绿色,仍散发着一股浓浓的香气。秋天来到了果园里,柿子弯下腰鞠了一个躬就压得枝头快要折断了,荔枝妹妹太胖了,撑破了衣裳,露出了鼓鼓、白白的肚皮。硕大的苹果挂满了枝头,露出甜甜的笑容,或羞 涩,或豪放。秋姑娘来到农田里,玉米可高兴了,它特意换了一件金色的新衣,开嘴笑了,露出满口金黄的牙齿;西红柿为了让自己更漂亮,便把口红涂在了脸上;土豆的兴奋也许太高了,把它那绿色的嘴巴笑破了,露出了黄色的舌头。秋天来到了花园里,这儿成了菊花的乐园。它们也许是喜欢这 沉甸甸的金色,才选择在秋天里绽放自己的美丽。菊花的颜色真不少:黄色、粉红色、白色那大大的花朵,卷曲的花瓣,像一个卷发的小姑娘。流连菊园或独自欣赏一盆艳菊,慢慢地陶醉在那股股清香里。秋天,给大地带来一片金黄,给蓝天送去棉花似的云朵。秋凤,清凉如水,带着一丝寒意染黄了世界。 我喜欢这秋高气爽的季节! 我喜欢有花叶扶疏、朴实无华的菊花的秋天。我喜欢这独一无二,灿烂辉煌的金秋景色。 秋天,真是个丰收的季节,割草机声,孩子们的欢笑声,大人们的谈笑 声这些声音融合到了一起,组成了一首《金色的秋天》的交响曲。

import jieba from wordcloud import WordCloud import matplotlib.pyplot as plt # 读取文本文件 with open('文章.txt', 'r', encoding='utf-8') as f: text = f.read() # 加载停用词表 with open('chineseStopWords.txt', 'r', encoding='utf-8') as f: stopwords = f.read().splitlines() # 使用jieba进行分词并去除停用词 words = jieba.cut(text) filtered_words = [word for word in words if word not in stopwords] # 将分词结果转换为字符串 filtered_text = ' '.join(filtered_words) # 生成词云图 wc = WordCloud(font_path='C:/Windows/Fonts/simhei.ttf', background_color='white', width=800, height=600) wc.generate(filtered_text) # 显示词云图 plt.imshow(wc, interpolation='bilinear') plt.axis('off') plt.show() # 保存词云图到文件 wc.to_file('wordcloud.png')

在这里插入图片描述

总结 希望对初学者有帮助 致力于办公自动化的小小程序员一枚 希望能得到大家的【一个免费关注】!感谢 求个 🤞 关注 🤞 此外还有办公自动化专栏,欢迎大家订阅:Python办公自动化专栏 求个 ❤️ 喜欢 ❤️ 此外还有爬虫专栏,欢迎大家订阅:Python爬虫基础专栏 求个 👍 收藏 👍 此外还有Python基础专栏,欢迎大家订阅:Python基础学习专栏


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3