用python绘制《鬼吹灯》词云图

#python日常学习碎片

目录

前言

一、准备

二、绘制

1.代码

2.运行结果

3.CSV生成结果:

4.用于生成词云图的底图:

5.词云图生成结果:

总结


前言

刚学了python的jieba库和wordcloud库,粗略绘制《鬼吹灯》词云图,代码仅供参考(doge)~


一、准备

vs code或者其它软件工具;电子书txt原文档;一张用于绘制词云图的底图

二、绘制

1.代码

代码如下(欢迎评论区讨论交流~):

import jieba
import wordcloud
import csv
from imageio import imread
mk = imread("词云图/图片/fivestart.jpg")
with open("鬼吹灯词频统计.csv","w",newline = "",encoding="utf-8-sig") as file:
        writer = csv.writer(file)
        writer.writerow(('名词','次数'))
excludes = {"我们","什么","没有","一个","就是","咱们","已经","东西","不是","这些","知道","这时","只好","最后","应该",\
        "虽然","可以","可能","不过","自己","出来","时候","这种","现在","他们","这么","不会","赶紧","突然","立刻","像是",\
        "里面","所以","那些","觉得","但是","而且","这里","还有","心中","怎么","说道","由于","众人","附近","原来",\
        "你们","还是","不能","起来","地方","只有","不知","有些","于是","一样","过去","之后","身上","传说","找到",\
        "发现","似乎","如果","其中","一些","许多","这个","下来","只是","地上","因为","只见","根本","究竟","地下"}
txt = open("词云图/电子书/鬼吹灯.txt","r",encoding = "utf-8").read()
words = jieba.lcut(txt)
counts = {}
for word in words:
    if len(word) == 1:
        continue
    else:
        counts[word] = counts.get(word,0) +1   
for word in excludes:
    del counts[word]
w = wordcloud.WordCloud(width = 1000,height = 700,background_color = "white",max_words=40,font_path="词云图/词云图要用到的字体/sxt.ttf",mask = mk)
w.generate_from_frequencies(counts)
w.to_file("鬼吹灯词云图.png")
print("完成")
items = list(counts.items())
items.sort(key=lambda x:x[1],reverse=True)
for i in range(15):
    word,count = items[i]
    print("{0:<10}{1:>5}".format(word,count))
    with open("鬼吹灯词频统计.csv","a",newline = "",encoding="utf-8-sig") as file:
            writer = csv.writer(file)
            writer.writerow((word,count))

2.运行结果

运行几次之后大致筛选出来的:

3.CSV生成结果:

4.用于生成词云图的底图:

5.词云图生成结果:


总结

以上就是用python代码制作词云图的全部过程,欢迎各位读者在评论区讨论交流~

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值