美文网首页ITS·黑客
【python】小实验-10行词云

【python】小实验-10行词云

作者: 某米狼 | 来源:发表于2017-04-23 23:58 被阅读77次

效果《乡土中国》:

环境:

pip3 install wordcloud
pip3 install jieba

代码

import matplotlib.pyplot as plt
from wordcloud import WordCloud
import jieba
 
text_from_file_with_apath = open('/Users/hecom/23tips.txt').read()
 
wordlist_after_jieba = jieba.cut(text_from_file_with_apath, cut_all = True)
wl_space_split = " ".join(wordlist_after_jieba)
 
my_wordcloud = WordCloud().generate(wl_space_split)
 
plt.imshow(my_wordcloud)
plt.axis("off")
plt.show()

报错:

>>> text_from_file_with_apath = open('/Users/Lazyant/Desktop/a.txt').read()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/codecs.py", line 321, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa1 in position 2: invalid start byte

解决:
在源码wordcloud.py中找到以下代码,
1 修改字体并替换文件夹字体,支持中文即可。
2 修改txt的存储编码为utf-8。这个不能忘

FONT_PATH = os.environ.get("FONT_PATH", os.path.join(os.path.dirname(__file__), "DroidSansMono.ttf"))

读源码
我偷懒直接摘录了笔记

生产词云的原理其实并不复杂,大体分成5步:

  1. 对文本数据进行分词,也是众多NLP文本处理的第一步,对于wordcloud中的process_text()方法,主要是停词的处理
  2. 计算每个词在文本中出现的频率,生成一个哈希表。词频计算相当于各种分布式计算平台的第一案例wordcount, 和各种语言的hello world 程序具有相同的地位了,呵呵。
  3. 根据词频的数值按比例生成一个图片的布局,类IntegralOccupancyMap 是该词云的算法所在,是词云的数据可视化方式的核心。
  4. 将词按对应的词频在词云布局图上生成图片,核心方法是generate_from_frequencies,不论是generate()还是generate_from_text()都最终到generate_from_frequencies
  5. 完成词云上各词的着色,默认是随机着色

相关文章

  • Python小实验——词云

    1)进入实验楼准备学习词云 2)在看一系列插件的时候,实验楼推荐安装Anaconda,据说“这是一个Python的...

  • 【python】小实验-10行词云

    效果《乡土中国》: 环境: 代码 报错: 解决:在源码wordcloud.py中找到以下代码,1 修改字体并替换文...

  • 【Python】实验-词云1

    ])``#绘制坐标轴X,Y,并标值0-4,刻度为0.5![1](http://upload-images.jian...

  • 【Python】实验-词云2

    以色彩照片为参考来产生词云 首先,先导入一系列的模块: >>>from os import path #从os模...

  • python 词云小demo

    一 什么是词云? 由词汇组成类似云的彩色图形。“词云”就是对网络文本中出现频率较高的“关键词”予以视觉上的突出,形...

  • Python词云

    很少记录自己的学习历程,无奈太健忘,而且刚入手Python,还是写下来供以后参考和思考。 本篇主要利用python...

  • python 词云

    最近由于大屏项目需要生成一个词云所以这边做个记录demo.py下: chnSegment.py下 这边主要对文章进...

  • 《长恨歌》词云

    词云展示 Python代码 TEXT原文

  • 【scikit-learn】用Python进行机器学习实验

    【scikit-learn】用Python进行机器学习实验 概要 本文是用Python编程语言来进行机器学习小实验...

  • 【python】实验-十行代码生成词云

    十行代码生成词云 http://python.jobbole.com/87496/?repeat=w3tc 准备工...

网友评论

    本文标题:【python】小实验-10行词云

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