美文网首页
python学习之绘制词云

python学习之绘制词云

作者: 小张是个测试 | 来源:发表于2022-01-07 17:22 被阅读0次

    绘制词云需要用到第三方库wordcloud,通过配置参数可以绘制自己想要的词云形状,大小等。那我们就开始吧!

    读取文本

    读取想要绘制的文本信息,这里我找了一个电子书

    f=open("D:/文档/高效能人士的7个习惯.doc","r",encoding="utf-8")
    t=f.read()

    分隔文本

    需要将文本分成词语,才能绘制词云。使用第三方jieba库来分隔中文。

    import jieba
    w=jieba.lcut(t)
    wd=" ".join(w)

    需要注意wordcloud库绘制词云输入的文本必须为空格隔开的数据,这里jieba分词后获得的是逗号分隔的列表。使用" ".join(w) 修改为空格。

    设置词云样式及大小

    c = wordcloud.WordCloud(
    width = 1000, height = 700,
    background_color = "white",font_path="msyh.ttf"
    )

    设置宽1000,高700,背景色为白色,字体为微软雅黑,你问我为什么微软雅黑是这样色儿的,我只能告诉你在这里找:


    在这里插入图片描述

    然后复制想要的字体到任意目录,就能看到名字啦

    [图片上传失败...(image-b42c60-1641547361910)]

    c.generate(wd)
    c.to_file("D:/文档/grwordcloud.png")

    将文本绘制成词云后输出到指定位置,生成一个图片

    拦路虎1

    运行后提示wordcloud没有WordCloud对象??怎么肥事??想了想,有哪里不对,我还没下载库为啥编译器不提示我库不存在呢,检查后发现我的文件名命名成了wordcloud,和库重名了。。。起啥名不好

    拦路虎2

    修改文件名,下载好库文件,重启!果不其然的又出错了,这回卡在了编码上,提示utf-8不行

    'utf-8' codec can't decode byte 0xc8 in position 0: invalid continuation byte

    这不会啊,搜索了半天,从gbk2312改到了gb18030,都不行
    没法子了,从根本解决问题吧,打开文档,点击另存为,保存为txt文件,然后选择其他编码,选择utf-8,保存。

    如果发现输出全是方框,不要方

    那就是你没有设置词云的默认字体,别问我为什么知道。手就是不受控制的删除了那一行,生成后全是框框。设置后就可以显示中文了。

    看看效果吧

    image

    相关文章

      网友评论

          本文标题:python学习之绘制词云

          本文链接:https://www.haomeiwen.com/subject/ponjcrtx.html