100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > python默认词云颜色_Python 绘制词云

python默认词云颜色_Python 绘制词云

时间:2018-10-20 16:28:36

相关推荐

python默认词云颜色_Python 绘制词云

1. 准备

安装好python,安装时包含pip 包管理工具

pip install jieba

pip install matplotlib

import matplotlib.pyplot as plt #数学绘图库

import jieba #分词库

from wordcloud import WordCloud #词云库

2. 示例代码

import matplotlib.pyplot as plt #数学绘图库

import jieba #分词库

from wordcloud import WordCloud #词云库

#1、读入txt文本数据

text = open(r'D:\\Code\\Document\\tonghua.txt',"r").read()

#2、结巴分词,默认精确模式。可以添加自定义词典userdict.txt,然后jieba.load_userdict(file_name) ,file_name为文件类对象或自定义词典的路径

# 自定义词典格式和默认词库dict.txt一样,一个词占一行:每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒

cut_text= jieba.cut(text)

result= "/".join(cut_text)#必须给个符号分隔开分词结果来形成字符串,否则不能绘制词云

#print(result)

#3、生成词云图,这里需要注意的是WordCloud默认不支持中文,所以这里需已下载好的中文字库

#无自定义背景图:需要指定生成词云图的像素大小,默认背景颜色为黑色,统一文字颜色:mode='RGBA'和colormap='pink'

wc = WordCloud(font_path=r"D:\\Code\\Python\\Monaco Yahei.ttf",background_color='white',width=800,height=600,max_font_size=50,

max_words=1000)#,min_font_size=10)#,mode='RGBA',colormap='pink')

wc.generate(result)

wc.to_file(r"D:\\Code\\Python\\cat.png") #按照设置的像素宽高度保存绘制好的词云图,比下面程序显示更清晰

# 4、显示图片

plt.figure("词云图") #指定所绘图名称

plt.imshow(wc) # 以图片的形式显示词云

plt.axis("off") #关闭图像坐标系

plt.show()

中文词云注意编码问题,以下代码实现了中文词云,加入了停用词库,可以自定义词云形状

# -*- coding: utf-8 -*-

#wordcloud生成中文词云

from wordcloud import WordCloud

import codecs

import jieba

#import jieba.analyse as analyse

from scipy.misc import imread

import os

from os import path

import matplotlib.pyplot as plt

from PIL import Image, ImageDraw, ImageFont

# 绘制词云

def draw_wordcloud():

#读入一个txt文件

comment_text = open('D:\\Code\\Python\\text\\tonghua.txt','r',encoding='gb18030').read()

#读取本地停当词库

stopwords = open('D:\\Code\\Python\\text\\stopwords.txt','r',encoding='utf-8').read().split("\n")

#结巴分词,生成字符串,如果不通过分词,无法直接生成正确的中文词云

cut_text = " ".join(jieba.cut(comment_text))

d = path.dirname(__file__) # 当前文件文件夹所在目录

color_mask = imread("D:\\Code\\Python\\text\\fangzi.png") # 读取背景图片

cloud = WordCloud(

#设置字体,不指定就会出现乱码

font_path="D:\\Code\\Python\\text\\Monaco Yahei.ttf",

#font_path=path.join(d,'simsun.ttc'),

#设置背景色

background_color='black',

stopwords= stopwords,

#词云形状

mask=color_mask,

#允许最大词汇

max_words=200,

#最大号字体

max_font_size=400

)

word_cloud = cloud.generate(cut_text) # 产生词云

word_cloud.to_file("pjl_cloud4.jpg") #保存图片

# 显示词云图片

plt.imshow(word_cloud)

plt.axis('off')

plt.show()

if __name__ == '__main__':

draw_wordcloud()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。