非程序员python 篇二:使用python进行微信好友数据可视化。你也许可以把它应用在职场哦~

2019-10-10 11:02:38 37点赞 258收藏 15评论

大家好,我又来了使用python进行微信好友数据可视化。你也许可以把它应用在职场哦~ ,没想到上次发完第一篇python文章后反响还不错,所以我又来写一篇我在生活中经常用到的一个库pyecharts~,pyecharts是基于百度的开源数据可视化工具Echarts开发而来,使用pyecharts可以方便的制作30+种常见图表,并且可以制作3D图表哦~项目地址:点击这里。文档地址:点击这里。对了,我发现我的文章收藏几乎是点赞的十多倍TAT,老爷们可不可以收藏的同时点个赞支持下呢使用python进行微信好友数据可视化。你也许可以把它应用在职场哦~

ps:我在大妈家分享的所有代码已经上传到了github:点击这里获取,因为在这里显示代码没有缩进或者显示错误,造成阅读的困难,所以就不贴源码啦~需要自取叭。


一、数据可视化展示

首先先展示一下pyecharts可以制作的部分图表~

饼状图示意饼状图示意


动态地图动态地图


时间线柱状图时间线柱状图

三维柱状图三维柱状图

二、微信数据可视化

接下来是本期的主要内容,使用上篇文章讲述的itchat库来获取好友性别信息与个性签名。然后生成好友性别比例分析饼状图,与个性签名词云。这个程序没什么实际作用~但是可以借此了解一下pyecharts是如何工作的,也许在工作中就用的上哦~ 代码地址点击这里。需要注意的是,本程序生成的是html文件,双击即可在浏览器打开,通过鼠标移动和点击还可以和图表交互哦~使用程序之前要记得安装依赖库。

pip install itchat pyecharts jieba

下面展示一下我使用以上代码生成的html截图:

性别分析性别分析

蛤蛤蛤,好友比较多有两百多个了,男女比例几乎是一比一使用python进行微信好友数据可视化。你也许可以把它应用在职场哦~

个性签名词云个性签名词云

看我的词云生活和努力这么多人使用,看来90后都已经开始感受到生活的压力了,只有努力才可以生活下去鸭使用python进行微信好友数据可视化。你也许可以把它应用在职场哦~

2.1代码具体分析

okk,下面到了讲代码的时间,hhhh做梦都没想到会在大妈家写代码,而且我也是个半吊子,希望抛砖引玉~等大佬赐教~使用python进行微信好友数据可视化。你也许可以把它应用在职场哦~

2.1.1 获取好友信息

下面的代码是通过itchat的api,get_friends()来获取好友信息,可以获取的信息有昵称、微信号、个性签名、好友头像、性别、所在地等内容。因为我只想将性别与个性签名可视化,所以可以在代码看到我只保存了Key为Signature与Sex的值。需要注意的是我的代码没有将数据保存到本地,如果有相关需求可以写到文件中哦~

friends = itchat.get_friends(update=True)[0:] # 获取好友信息

friendslist = [] #新建

for friend in friends:

getTag(friend['Signature'], signatureCounter)

sexCounter[sexDict[str(friend['Sex'])]]+= 1

2.1.2 数据处理

通过我的方法获得的数据是以字典形式保存的,Key是性别,Value是该性别好友数。但因为pyecharts的api接受参数需要的是把性别和性别人数合成一个数据["男","120"],不同的数据再存储成list来使用。所以在这里我们需要把字典形式数据拆成两个list返回。

def dict2list(dict_):
namelist = []
numlist = []
for key,value in dict_.items():
namelist.append(key)
numlist.append(value)
returnnamelist, numlist

2.1.3 生成pyecharts图表

将数据整理好之后就可以直接调用pyecharts的api生成饼状图了,首先调用Pie()构造函数来生成一个饼图对象,接下来使用add()函数添加数据,set_global_opts()函数添加标题等内容,set_series_opts()函数改变显示内容。最后使用render()函数来保存饼图就可以了,如果没有改动我的程序,那么会在当前文件夹下直接生成"性别比例.html"文件。

#制作饼图
def sexAnalyse(itemname_, itemnamelist_, itemnumlist_):
totle = itemnumlist_[0]+itemnumlist_[1]+itemnumlist_[2]
subtitle = "共有:%d个好友" % totle
pie = Pie()#新建饼图对象
pie.add("",[list(z) for z in zip(itemnamelist_,itemnumlist_)],center=["35%", "50%"])#饼图对象数据添加
pie.set_global_opts(title_opts=opts.TitleOpts(title=subtitle),legend_opts=opts.LegendOpts(pos_left="15%"),)
pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
outFileName= itemname_+'.html'
pie.render(outFileName)#保存饼图对象

生成的图片生成的图片

制作个性签名词云步骤几乎是一样的,只有调用的api不同,代码里有注释,这里就不赘述了。

总结

通过本文可以看到简单的数据可视化的步骤分三步,1.收集数据,2.数据处理,3.制作图表。

第一步收集数据的方式是多种多样的,你可以使用python编写爬虫在互联网爬取,也可以直接利用公司的相关数据。

第二步数据处理在本文中就是简单的把读到的数据转变成第三步制作图表所需要的数据格式,而在实际生产中可能会面临更多的问题,比如数据去除、预计算数据等内容。

第三步是最简单的一步,只是简单的利用大佬们写好的接口就可以直接出图了~当然如果大佬们提供的图表格式没有你想要的类型,那么这一步对非程序员来说应该是非常复杂的工作。

okk,结束啦,如果觉得有点用处的话给我点个赞叭使用python进行微信好友数据可视化。你也许可以把它应用在职场哦~

展开 收起

圈外同学 IDP职业发展规划课

圈外同学 IDP职业发展规划课

暂无报价

Photoshop CC 全套入门 自学视频课程

Photoshop CC 全套入门 自学视频课程

暂无报价

JINGDONG 京东 健康甄选 超声波洁牙套餐 单人洁牙+抛光

JINGDONG 京东 健康甄选 超声波洁牙套餐 单人洁牙+抛光

89元起

PPT office2016 全套 视频课程

PPT office2016 全套 视频课程

暂无报价

CAD2019 零基础入门到精通 全套视频课程

CAD2019 零基础入门到精通 全套视频课程

暂无报价

Photoshop cc2018 全套速成 入门视频课程

Photoshop cc2018 全套速成 入门视频课程

暂无报价

苏曼网校 Word2016 从入门到精通 视频教程

苏曼网校 Word2016 从入门到精通 视频教程

暂无报价

沪江网校 Photoshop零基础直达高级全科【学霸班】

沪江网校 Photoshop零基础直达高级全科【学霸班】

暂无报价

Photoshop cs6 平面设计零基础入门 自学基础班 视频课程

Photoshop cs6 平面设计零基础入门 自学基础班 视频课程

暂无报价

PS零基础 全套案例 视频课程

PS零基础 全套案例 视频课程

暂无报价

宝满 WPS2019视频教程 表格文字演示word/excel/ppt办公office在线课程

宝满 WPS2019视频教程 表格文字演示word/excel/ppt办公office在线课程

暂无报价

AutoCAD 室内设计 全套基础基础入门 视频课程

AutoCAD 室内设计 全套基础基础入门 视频课程

暂无报价

CAD2019 机械制图 机械设计制图

CAD2019 机械制图 机械设计制图

暂无报价

photoshop cc 广告平面设计在线课程

photoshop cc 广告平面设计在线课程

暂无报价

沪江网校 微软MOS认证专业级Word+Excel+PPT(13版)【特惠班】

沪江网校 微软MOS认证专业级Word+Excel+PPT(13版)【特惠班】

暂无报价

宝满 课程_拍下直接观看

宝满 课程_拍下直接观看

暂无报价
15评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
258
扫一下,分享更方便,购买更轻松