30 行代码绘出你的微信朋友统计图
2019-08-10 本文已影响0人
9ba4bd5525b9
项目环境:python 3
环境安装
通过下面命令安装 itchat:
pip install itchat
通过下面命令安装 matplotlib:
pip install matplotlib
Matplotlib 是一个 Python 的 2D 绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。
先给大家展示下成果图:
image image.gif程序结构:
-
登录微信;
-
统计出微信里好友男女人数;
-
根据第 2 步统计的人数画出柱形图。
登录微信
itchat.auto_login(hotReload=True)
第一次运行程序需要微信扫码登录,这里直接调用 auto_login 方法传入值为 True 的hotReload。该方法会生成一个静态文件 itchat.pkl,用于存储登陆的状态。这样即使程序关闭,一定时间内重新开启也可以不用重新扫码。
统计人数
用 get_friends 获取所有好友信息。
循环统计时从 1 开始,因为 friends[0] 是自己的信息。
friends=itchat.get_friends(update=True)[0:] #获取所有好友信息
male = female = other =0
for i in friends[1:]:
sex=i["Sex"]
if sex==1:
male+=1
elif sex==2:
female+=1
else:
other+=1
total=len(friends[1:])
再打印出统计比例:
print("男性好友: %.2f%%" % (float(male)/total*100) + "\n" +
"女性好友: %.2f%%" % (float(female) / total * 100) + "\n" +
"不明性别好友: %.2f%%" % (float(other) / total * 100))
画图
设置 x 轴、 y 轴 和标题的名称,定义柱形图的颜色,最后通过 plt.show显示出来。
'''
遇到不懂的问题?Python学习交流群:821460695满足你的需求,资料都已经上传群文件,可以自行下载!
'''
plt.xlabel("sex")
plt.ylabel("count")
plt.title("Gender statistics")
a=plt.subplot(1,1,1)
plt.bar(10, male, facecolor='red', width=3, label='male')
plt.bar(15, female, facecolor='yellow', width=3, label='female')
plt.bar(20, other, facecolor='blue', width=3, label='other')
plt.legend()
plt.show()
这样微信好友的统计图就完成了,当然,这只是 itchat 冰山一角的功能,还有很多有意思的功能等着我们去挖掘。