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

CHINESE.jpg

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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐