• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

如何利用Pyecharts可视化微信好友

python 搞代码 4年前 (2022-01-07) 37次浏览 已收录 0个评论

这篇文章主要给大家介绍了关于如何利用Pyecharts可视化微信好友的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Pyecharts具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

前言

最近在研究 pyecharts  的用法,它是 python 的一个可视化工具,然后就想着结合微信来一起玩

不多说,直接看

环境配置

 pip install pyecharts pip install snapshot_selenium pip install echarts-countries-pypkg pip install echarts-china-provinces-pypkg pip install echarts-china-cities-pypkg pip install echarts-china-counties-pypkg pip install wxpy

获取好友

主要是获取好友基本数据,用来做数据可视化

代码如下:

 from wxpy import Bot, Chat class Demo(Chat): @staticmethod def get_friend(): bot = Bot() friends = bot.friends(update=True) friend_data = [] for friend in friends: if friend.sex == 1: sex = "男" elif friend.sex == 2: sex = "女" else: sex = "" friend_dict = { "city": friend.city, "province": friend.<i style="color:transparent">来源gaodai$ma#com搞$$代**码网</i>province, "sex": sex, "signature": friend.signature, } friend_data.append(friend_dict) return friend_data

返回的是微信好友列表,包含好友城市,省份,性别和个性签名等数据。

地理坐标图

地理坐标系组件用于地图的绘制,支持在地理坐标系上绘制散点图,线集。

在 pyecharts  中地理坐标图主要是基于 Geo 模块

 def geo_base(): city_data = get_data() geo = Geo(init_opts=opts.InitOpts(theme="vintage")) for city in city_data: try: geo.add_schema(maptype="china", itemstyle_opts=opts.ItemStyleOpts(color="gray")) geo.add("微信好友分布地图", [city], type_="effectScatter", symbol_size=10) geo.set_series_opts(label_opts=opts.LabelOpts(is_show=False)) geo.set_global_opts(visualmap_opts=opts.VisualMapOpts(), title_opts=opts.TitleOpts(title="微信好友分布地图"), ) except Exception as e: print(e) pass # geo.render("geo.html") make_snapshot(driver, geo.render(), "geo.png-600")

运行完之后会在当前目录生成一个 geo.png-600 的图片

该图片就是微信好友中国分布地图

热力图

热力图也是基于 Geo 模块

唯一的区别在 add 函数中 type 的为 heatmap

代码如下:

 def heat_map(): city_data = get_data() geo = Geo(init_opts=opts.InitOpts(theme="vintage")) for city in city_data: try: geo.add_schema(maptype="广东", itemstyle_opts=opts.ItemStyleOpts(color="gray")) geo.add("广东好友热力图", [city], type_="heatmap", symbol_size=10) geo.set_series_opts(label_opts=opts.LabelOpts(is_show=False)) geo.set_global_opts(visualmap_opts=opts.VisualMapOpts(), title_opts=opts.TitleOpts(title="热力图"), toolbox_opts=opts.ToolboxOpts()) except : pass geo.render("heat.html")

比如可以选择某个省份的数据,运行之后的效果:

以上就是微信中的广东好友分布热力图

全国分布图

地图是基于 Map 模块进行扩展

主要用到函数是 add

 def add( # 系列名称,用于 tooltip 的显示,legend 的图例筛选。 series_name: str, # 数据项 (坐标点名称,坐标点值) data_pair: Sequence, # 地图类型,具体参考 pyecharts.datasets.map_filenames.json 文件 maptype: str = "china", # 是否选中图例 is_selected: bool = True, # 是否开启鼠标缩放和平移漫游。 is_roam: bool = True, # 当前视角的中心点,用经纬度表示 center: Optional[Sequence] = None, # 当前视角的缩放比例。 zoom: Optional[Numeric] = 1, # 自定义地区的名称映射 name_map: Optional[dict] = None, # 标记图形形状 symbol: Optional[str] = None, # 是否显示标记图形 is_map_symbol_show: bool = True, # 标签配置项,参考 `series_options.LabelOpts` label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(), # 提示框组件配置项,参考 `series_options.TooltipOpts` tooltip_opts: Union[opts.TooltipOpts, dict, None] = None, # 图元样式配置项,参考 `series_options.ItemStyleOpts` itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None, )

代码如下:

 def map_base(): province_data = province_list() maps = Map() maps.add("", province_data, "china") maps.set_global_opts(title_opts=opts.TitleOpts(title="微信好友分布图"), visualmap_opts=opts.VisualMapOpts()) make_snapshot(driver, geo.render(), "map.png-600")

运行之后,就是生成文章开头所示的图片,是不是很有趣呀!

词云图

好友城市分布词云图

 c = ( WordCloud() .add("", city_list, word_size_range=[15, 50], shape="diamond", word_gap=10) .set_global_opts(title_opts=opts.TitleOpts(title="diamond")) ) make_snapshot(driver, c.render(), "world.png-600")

效果如下:

条形图

先来看下

代码如下:

 def bar_datazoom_slider() -> Bar: city_data = get_data() c = ( Bar(init_opts=opts.InitOpts(page_title="条形图")) .add_xaxis([city[0] for city in city_data]) .add_yaxis("城市人数", [city[1] for city in city_data]) .set_global_opts( title_opts=opts.TitleOpts(title="好友城市分布条形图"), datazoom_opts=[opts.DataZoomOpts(orient="vertical")] ) ) return c

最后,再提供大家微信头像另一种好玩的方式:

先看图:

除此之外,还能定制文字,将自己想制作的文字,输入即可!

源码下载:点击这里

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对gaodaima搞代码网的支持。

以上就是如何利用Pyecharts可视化微信好友的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:如何利用Pyecharts可视化微信好友

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址