staruml顺序图生成协作图_python生成微信好友性别环形图

d1ec28316f1ba40c0a4a471961125e92.png

想知道你的微信好友中男多,还是女多,还是未知性别的多?请看下面的方法。

一, 实现思路:

1,遍历获取微信好友性别,并统计出性别;

2,利用matplotlib生成好友性别饼图;

3,给图添加文字;

二,引用到的库:

1,itchat;

2,collections中的Counter;

3,matplotlib中的pie,text,savefig;

三,贴成品效果图

1cbfb79fa92581db8a5694c2b09fa578.png

四,源代码

def getFrinendSex():#获取好友性别
    auto_login(hotReload=True)
    a=get_friends()
    ls=[]
    for i in a:
        ls.append(i['Sex'])#性别字典键
    a=['男','女','未知']
    b=dict(zip(a,Counter(ls).values()))#counter统计列表中代表性别的元素(0,1,2)的个数,并替换成指定的列表a
    shareN=[v/sum(b.values()) for v in b.values()]#计算各类别占比,形成列表
    plt.figure(figsize=(6.4,6.4),facecolor='b')
    plt.pie(x=shareN,radius=1.5,labels=a,pctdistance=1.2,labeldistance=0.8,colors=['cornflowerblue','violet','lightgreen'])
    plt.pie(x=[1],radius=0.9,colors='w')#叠加一个空白的Piel图,形成环形
    plt.rcParams['font.sans-serif'] = ['SimHei']#中文标签需要这个字体才能显示
    plt.text(-0.7,-0.1,'微信好友性别比例',fontsize=24)#向中间空白填充此词组
    plt.savefig('RawenWechatFriendSex.jpg',dpi=100)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值