前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >matplotlib绘图笔记之二:饼图展示微信好友的性别比例

matplotlib绘图笔记之二:饼图展示微信好友的性别比例

作者头像
用户7010445
发布2020-03-03 14:26:59
8300
发布2020-03-03 14:26:59
举报

第一步是使用 itchat 库获取微信好友的地区和性别

itchat github主页 https://github.com/littlecodersh/ItChat 自己windows系统电脑安装了Anaconda,直接在dos命令行使用命令pip install itchat即可安装;接下来是登录微信,命令:

代码语言:javascript
复制
import itchat
itchat.auto_login()

运行命令跳出二维码扫描即可登录。使用friends = itchat.get_friends(update=True)获取微信好友信息。

friends是一个列表,每一个好友的信息以字典的形式存储。

比如我运行friends[0]返回的是自己的信息

代码语言:javascript
复制
<User: {'MemberList': <ContactList: []>, 
'UserName': '@f82286b5a23ecde13e5b40ff120f82ae42723de36c8e12941a7dffd7adb88133, 
'City': '',
 'DisplayName': '',
 'PYQuanPin': '', 
'RemarkPYInitial': '', 
'Province': '', 
'KeyWord': '', 
'RemarkName': '', 
'PYInitial': '', 
'EncryChatRoomId': '', 
'Alias': '',
 'Signature': '积极进取,随遇而安',
 'NickName': '牧羊的男孩儿', 
'RemarkPYQuanPin': '',
 'HeadImgUrl': '/cgi-bin/mmwebwx-bin/webwxgeticon?seq=750416727&username=@f82286b5a23ecde13e5b40ff120f82ae42723de36c8e12941a7dffd7adb88133&skey=@crypt_2ecc843e_bfedf24f4279fd0bb90d87bbd8099401',
 'UniFriend': 0, 
'Sex': 1, 
'AppAccountFlag': 0,
 'VerifyFlag': 0, 
'ChatRoomId': 0, 
'HideInputBarFlag': 0,
 'AttrStatus': 0,
 'SnsFlag': 1, 
'MemberCount': 0, 
'OwnerUin': 0,
 'ContactFlag': 0,
 'Uin': 2642324728,
 'StarFriend': 0,
 'Statues': 0, 
'WebWxPluginSwitch': 0,
 'HeadImgFlag': 1}>

性别Sex男是1,女是2,未知是0,一个简单的循环获取男女的数量

代码语言:javascript
复制
Unknow = 0
Male = 0
Female = 0
for friend in friends:
  if friend["Sex"] == 0:
    Unknow = Unknow +1
  elif friend["Sex"] == 1:
    Male += 1
  else:
    Female += 1
print("The number of male friends is: ", Male)
print("The number of female friends is: " , Female)
print("There are some friends without gender! " , Unknow)
# 结果
The number of male friends is:  255
The number of male friends is:  169
There are some friends without gender!  29
第二步制作饼图

教程地址 https://matplotlib.org/gallery/pie_and_polar_charts/pie_features.html#sphx-glr-gallery-pie-and-polar-charts-pie-features-py

代码语言:javascript
复制
import matplotlib.pyplot as plt
gender = [255,169,29]
labels = ["Male","Female","Unknow"]
plt.pie(gender)
plt.show()

image.png

代码语言:javascript
复制
plt.pie(gender,labels=labels)
plt.show()

image.png

代码语言:javascript
复制
plt.pie(gender,labels=labels,explode=(0.1,0,0))
plt.show()

image.png

代码语言:javascript
复制
plt.pie(gender,labels=labels,explode=(0.1,0,0),autopct='%1.1f%%')
plt.show()

image.png

代码语言:javascript
复制
plt.pie(gender,labels=labels,explode=(0.1,0,0),autopct='%1.1f%%',shadow=True)
plt.show()
代码语言:javascript
复制
plt.pie(gender,labels=labels,explode=(0.1,0,0),autopct='%1.1f%%',shadow=True,startangle=90)

image.png

代码语言:javascript
复制
plt.pie(gender,labels=labels,explode=(0.1,0,0),autopct='%1.1f%%',shadow=True,startangle=90)
plt.axis('equal')
plt.show()

image.png

PS:图片保存为png格式不知道什么原因阴影部分比较发黑!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小明的数据分析笔记本 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第二步制作饼图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档