词云练习1

import jieba
import matplotlib.pyplot as plt
from wordcloud import WordCloud
import matplotlib.image  as mpimg
import numpy as np

def writedict(c_dict, file_name,topN=100):
  c_list=list(c_dict.items())
  c_list.sort(key= lambda item:item[1], reverse=True)
  return c_list[:100]

male_dict = {}
female_dict = {}

with open('names.txt', 'rt', encoding= 'utf-8') as fo:
    for line in fo:
        line = line.replace('\n','')
        splits = line.split(' ')
        if splits[1] == '男':
          for c in splits[0][1:]:
            male_dict[c] = male_dict.get(c, 0)+1
        elif splits[1] == '女':
          for c in splits[0][1:]:
            female_dict[c] = female_dict.get(c,0) + 1

def sort_dict(c_dict,topN=100):
  c_list=list(c_dict.items())
  c_list.sort(key=lambda item:item[1],reverse=True)
  return c_list[:topN]

img = plt.imread('鸡你太美.png')
img = mpimg.imread('鸡你太美.png')
img = img.astype(np.uint8)

w_cloud = WordCloud(font_path= 'STSONG.TTF',mask=plt.imread('ji5.jpg'))
#w_cloud = WordCloud(font_path= 'STSONG.TTF',width=800,height=800)
w_cloud.generate_from_frequencies(dict(sort_dict(male_dict)))

plt.imshow(w_cloud)
plt.axis("off")
plt.show()

 注意,必须为jpg,不能是png,微信截图一般为png。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值