python词云图片在哪儿打开_如何用python创建词云图片

Python实现词云的库有很多,较为常见的就是wordcloud,这个库基于PIL,PIL是必不可少的,需要用的还有matplotlib和numpy。

本文使用解释器为python2.7.13 32位。

安装pip install wordcloud

使用

针对库示例做了一个简单修改,直接使用generate_from_frequencies方法,而没有使用generate()方法。有这样几个原因,generate_from_frequencies是基础的方法,generate()仍然还是要调用generate_from_frequencies方法;实验比较直接。

库的使用方法很简单,但是中文使用的话会有几个问题,一个是字符编码问题,二是字体问题,默认的字体不支持中文,因此需要加入font_path = "simfang.ttf"指定字体,这是把字体指定为同一个文件夹下的simfang.ttf。

示例:#encoding=utf-8

from os import path

from wordcloud import WordCloud

import sys

reload(sys)

sys.setdefaultencoding('utf-8')

fre={"哈哈".decode('utf-8'): 1.2,"呵呵".decode('utf-8'):6}

wordcloud = WordCloud(font_path = "simfang.ttf").generate_from_frequencies(fre)

import matplotlib.pyplot as plt

plt.imshow(wordcloud, interpolation='bilinear')

plt.axis("off")

plt.show()

效果如下:

先抽取网页的文本,然后再进行分词,将分词结果根据频率作为字典传给generate_from_frequencies,生成词云。

更简单,比如直接抽取文章的关键词,比如博客每篇文章就有关键词,用Counter库,直接生成频率调用。

使用背景图片生成词云

对上面的代码做了一点简单的改动:#encoding=utf-8

from os import path

from wordcloud import WordCloud

import sys

reload(sys)

sys.setdefaultencoding('utf-8')

d = path.dirname(__file__)

text = open(path.join(d, 'constitution.txt')).read().decode('utf-8')

import numpy as np

from PIL import Image

football = np.array(Image.open(path.join(d, "timg.jpg")))

fre={"哈哈".decode('utf-8'): 1.2,"呵呵".decode('utf-8'):6,"咯咯".decode('utf-8'):6,

"呵呵".decode('utf-8'):6,"咯咯".decode('utf-8'):6,

"啦啦".decode('utf-8'):1,"哦哦".decode('utf-8'):6,

"恩恩".decode('utf-8'):3,"呃呃".decode('utf-8'):6,

"饿饿".decode('utf-8'):3,"嗯嗯".decode('utf-8'):6,

"哼哼".decode('utf-8'):5,"丽丽".decode('utf-8'):6,

"咔咔".decode('utf-8'):7,"咳咳".decode('utf-8'):6,

"乐乐".decode('utf-8'):6,"呐呐".decode('utf-8'):6,

"嘎嘎".decode('utf-8'):6,"嘻嘻".decode('utf-8'):6}

#wordcloud = WordCloud(font_path = "simfang.ttf").generate(text)

wordcloud = WordCloud(font_path = "simfang.ttf",mask=football).generate_from_frequencies(fre)

import matplotlib.pyplot as plt

plt.imshow(wordcloud, interpolation='bilinear')

plt.axis("off")

plt.show()

效果如下:

更多技术请关注云海天Python教程。

Python是一门流行的编程语言,有许多强大的库和工具可以用来处理中文文本数据,其中包括中文分词和词云制作。 中文分词是将中文文本按照词语划分成一个个单独的词汇,是自然语言处理领域的重点问题之一。在Python中,最常用的中文分词库是jieba库。下面是一个简单的中文分词例子: ```python import jieba text = "我喜欢用Python做自然语言处理" words = jieba.cut(text) for word in words: print(word) ``` 这段代码将会输出分词后的结果: ``` 我 喜欢 用 Python 做 自然语言处理 ``` 接下来是词云制作。词云是一种用来展示文本数据的可视化图形,它将文本中出现频率高的关键词以不同的字体大小和颜色呈现在图形中。在Python中,我们可以使用wordcloud库来制作词云。下面是一个简单的词云制作例子: ```python from wordcloud import WordCloud import jieba text = "我喜欢用Python做自然语言处理" # 使用jieba进行中文分词 words = jieba.cut(text) words_list = " ".join(words) # 生成词云 wordcloud = WordCloud(width=800, height=600, background_color="white").generate(words_list) # 保存词云图 wordcloud.to_file("wordcloud.png") ``` 这段代码将会生成一张名为wordcloud.png的词云图。如果你想要将词云显示在Jupyter Notebook中,可以使用下面的代码: ```python from IPython.display import Image Image(filename="wordcloud.png") ``` 这样就可以在Jupyter Notebook中显示词云图了。 以上就是用Python做中文分词和词云制作的简单例子,希望能对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值