本篇文章为大家展示了Python中怎么绘制词云图,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
创新互联公司自2013年起,是专业互联网技术服务公司,拥有项目网站制作、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元方山做网站,已为上家服务,为方山各地企业和个人服务,联系电话:028-86922220
在Python中,我们可以用pyecharts做词云图,也可以使用matplotlib来绘制词云图,并且matplotlib绘制出来的词云图更具个性化。
材料:TXT格式的文件、jupyter notebook、PPT、电脑、Python中的jieba分词库、wordclound库、matplotlib库、微信截图或其它工具等。
数据结构:
# 导入相关的库 import jieba from wordcloud import WordCloud import matplotlib.pyplot as plt # 导入文本数据并进行简单的文本处理。注意文本的编码为gbk或utf-8等 text = open(r"C:\Users\QDM\Desktop\SAP出库价\9-07\ciyun.txt",encoding ="gbk").read() # 去掉换行符和空格 text = text.replace('\n',"").replace("\u3000","")
# 强迫症预览一下加载进来的内容 text
# 分词,返回结果为词的列表 text_cut = jieba.lcut(text) # 将分好的词用某个符号分割开连成字符串 text_cut = ' '.join(text_cut)
# 导入停词 # 用于去掉文本中类似于'啊'、'你','我'之类的词 stop_words = open(r"C:\Users\QDM\Desktop\SAP出库价\9-07\ciyun.txt",encoding ="gbk").read().split("\n") # 使用WordCloud生成词云 word_cloud = WordCloud(font_path="simsun.ttc", # 设置词云字体 background_color="white", # 词云图的背景颜色 stopwords=stop_words) # 去掉的停词 word_cloud.generate(text_cut) # 用matplotlib渲染出词云图 # 调整画布的长和宽 plt.subplots(figsize=(12,8)) plt.imshow(word_cloud) plt.axis("off")
渲染效果:
接下来,我们可根据自己的想法自定义自己想要的词云形状。如下:
我们可以现在PPT里面设置出以下效果:
然后再用微信截图或其它工具裁剪再保存一下。
编写完整代码:
# 完整代码 # 导入相关的库 import jieba from wordcloud import WordCloud import matplotlib.pyplot as plt from PIL import Image # 加载并处理分词 text = open(r"C:\Users\QDM\Desktop\SAP出库价\9-07\ciyun.txt",encoding ="gbk").read() text = text.replace('\n',"").replace("\u3000","") text_cut = jieba.lcut(text) text_cut = ' '.join(text_cut) stop_words = open(r"C:\Users\QDM\Desktop\SAP出库价\9-07\ciyun.txt",encoding ="gbk").read().split("\n") # 读取背景图片,也可以输入中文 background = Image.open(r"C:\Users\QDM\Desktop\fu.png") graph = np.array(background) word_cloud = WordCloud(font_path="simsun.ttc", background_color="white", mask=graph, # 指定词云的形状 stopwords=stop_words) # 渲染效果 word_cloud.generate(text_cut) plt.subplots(figsize=(12,8)) plt.imshow(word_cloud) plt.axis("off")
渲染出来的效果:
上述内容就是Python中怎么绘制词云图,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。