python基础词云制作——中国地图
首先导入需要的第三方库
import jieba
import numpy as np
from PIL import Image
from wordcloud import WordCloud
引入制作词云的文件以txt文件为例,并对数据进行处理
def trans_ch(txt):
words = jieba.lcut(txt)
newtxt = ''.join(words)
return newtxt
f = open('chinese.txt','r',encoding = 'utf-8')#词云内容的路径
txt = f.read()
f.close()
txt = trans_ch(txt)
列出需要删除出现次数多没意义的词,比如和,的这些词
pinbi = {'简称'}#删除一些内容
导入制作词云样式的图片,这里导入中国地图图片CHINESE.jpg
mask = np.array(Image.open("CHINESE.jpg"))#生成词云样式的图片
设置一些词云的参数
wordcloud = WordCloud(background_color="white", width=2500, height=3000, max_words=1000,\
max_font_size=150, mask=mask, contour_width=4, stopwords=pinbi,\
contour_color='white', font_path="STXINGKA.TTF")\
.generate(txt)
#background_color表示背景颜色,width表示词云宽度,height表示词云的高度
#max_words限制词云中显示词的最大值, max_font_size限制词云中显示词的最小值
#contour_color表示词云形状边宽颜色,mask=mask把词云样式的图片导入
#contour_width表示词云形状边宽宽度,stopwords=pinbi删除没意义的词
#font_path词云字体路径
#.generate(txt)调用generate()方法将jieba分词文字结果传入词云
生成词云图片CIYUN.png。也可以在前面加入路径,保存图片到指定位置
wordcloud.to_file('CIYUN.png')#生成词云的图片
制作词云的完整代码如下:
import jieba
import numpy as np
from PIL import Image
from wordcloud import WordCloud
def trans_ch(txt):
words = jieba.lcut(txt)
newtxt = ''.join(words)
return newtxt
f = open('chinese.txt','r',encoding = 'utf-8')#词云内容的路径
txt = f.read()
f.close()
txt = trans_ch(txt)
pinbi = {'简称'}#删除一些内容
mask = np.array(Image.open("CHINESE.jpg"))#生成词云样式的图片
wordcloud = WordCloud(background_color="white", width=2500, height=3000, max_words=1000,\
max_font_size=150, mask=mask, contour_width=4, stopwords=pinbi,\
contour_color='white', font_path="STXINGKA.TTF")\
.generate(txt)
wordcloud.to_file('CIYUN.png')#生成词云的图片
下面是图片CHINESE.jpg

下面是生成词云的图片CIYUN.png
