3.简单词云图
图标:https://fa5.dashgame.com/#/%E5%9B%BE%E6%A0%87
学习案例:https://zhuanlan.zhihu.com/p/138356932
pyecharts示例图:https://gallery.pyecharts.org/#/WordCloud/wordcloud_custom_mask_image
方法一、wordcloud
1.安装wordcloud包
pip install wordcloud
官网:http://amueller.github.io/word_cloud/auto_examples/emoji.html
参考:https://blog.csdn.net/kun1280437633/article/details/89474284
1 import matplotlib.pyplot as plt #数据可视化 2 import jieba #词语切割 3 import wordcloud #分词 4 from wordcloud import WordCloud,ImageColorGenerator,STOPWORDS #词云,颜色生成器,停止词 5 import numpy as np #科学计算 6 from PIL import Image #处理图片 7 8 with open('贵州民族分布.txt','r',encoding='utf-8') as f: #打开新的文本转码为gbk 9 textfile= f.read() #读取文本内容 10 wordlist = jieba.lcut(textfile)#切割词语 11 space_list = ' '.join(wordlist) #空格链接词语 12 13 backgroud = np.array(Image.open('贵州地图.jpg')) 14 15 wc = WordCloud( 16 width=1400, 17 height=2200, 18 background_color='white', 19 mode='RGB', 20 mask=backgroud, #添加蒙版,生成指定形状的词云,并且词云图的颜色可从蒙版里提取 21 max_words=500, 22 stopwords=STOPWORDS.add('家人族'),#内置的屏蔽词,并添加自己设置的词语 23 #font_path='C:\Windows\Fonts\STZHONGS.ttf',#设置字体 24 max_font_size=150,#字体最大标准 25 relative_scaling=0.6, #设置字体大小与词频的关联程度为0.4 26 random_state=50, 27 scale=2 28 ) 29 wc.generate(space_list) 30 image_color = ImageColorGenerator(backgroud)#设置生成词云的颜色,如去掉这两行则字体为默认颜色 31 wc.recolor(color_func=image_color) 32 33 plt.figure() 34 plt.imshow(wc) #显示词云 35 plt.axis('off') #关闭x,y轴 36 plt.show()#显示 37 wc.to_file('test1_ciyun.jpg') #保存词云图
方法2:pyecharts
1 from pyecharts import options as opts 2 from pyecharts.charts import WordCloud 3 from pyecharts.globals import SymbolType 4 5 6 words = [('京族', 2), 7 ('家人族', 3), 8 ('满族', 7), 9 ('畲族', 7), 10 ('水族', 8), 11 ('瑶族', 9), 12 ('回族', 10), 13 ('黎族', 14), 14 ('仡佬族', 27), 15 ('壮族', 37), 16 ('白族', 47), 17 ('侗族', 52), 18 ('彝族', 58), 19 ('穿青人', 64), 20 ('土家族', 82), 21 ('布依族', 3763), 22 ('苗族', 12059), 23 ('汉族', 13376)]#列表+元组类型 24 c = ( 25 WordCloud() 26 .add("", words, word_size_range=[20, 100], shape=SymbolType.DIAMOND) 27 .set_global_opts(title_opts=opts.TitleOpts(title="民族分类")) 28 29 ) 30 31 c.render_notebook()

浙公网安备 33010602011771号