中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么利用Pyecharts可視化微信好友

發布時間:2021-02-05 11:02:28 來源:億速云 閱讀:196 作者:小新 欄目:開發技術

這篇文章主要介紹怎么利用Pyecharts可視化微信好友,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

前言

最近在研究 pyecharts  的用法,它是 python 的一個可視化工具,然后就想著結合微信來一起玩

不多說,直接看效果:

怎么利用Pyecharts可視化微信好友

怎么利用Pyecharts可視化微信好友

環境配置

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.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")

運行完之后會在當前目錄生成一個 geo.png 的圖片

怎么利用Pyecharts可視化微信好友

該圖片就是微信好友中國分布地圖

熱力圖

熱力圖也是基于 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")

比如可以選擇某個省份的數據,運行之后的效果:

怎么利用Pyecharts可視化微信好友

以上就是微信中的廣東好友分布熱力圖

全國分布圖

地圖是基于 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")

運行之后,就是生成文章開頭所示的圖片,是不是很有趣呀!

詞云圖

好友城市分布詞云圖

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")

效果如下:

怎么利用Pyecharts可視化微信好友

條形圖

先來看下效果:

怎么利用Pyecharts可視化微信好友

代碼如下:

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

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

先看圖:

怎么利用Pyecharts可視化微信好友

除此之外,還能定制文字,將自己想制作的文字,輸入即可!

怎么利用Pyecharts可視化微信好友

以上是“怎么利用Pyecharts可視化微信好友”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

车致| 廉江市| 江山市| 抚州市| 康乐县| 咸丰县| 宜城市| 从化市| 祥云县| 浦江县| 赤壁市| 鄂州市| 桐梓县| 沐川县| 安福县| 莆田市| 龙里县| 凤翔县| 广元市| 潜山县| 蛟河市| 永福县| 新巴尔虎左旗| 花莲市| 关岭| 泽州县| 九江县| 成都市| 二手房| 临邑县| 咸宁市| 定陶县| 黄山市| 土默特左旗| 江山市| 贵溪市| 万州区| 天峨县| 英山县| 白城市| 南川市|