怎么利用Pyecharts可視化微信好友-創(chuàng)新互聯(lián)

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

成都創(chuàng)新互聯(lián)公司專注于桂陽網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供桂陽營銷型網(wǎng)站建設(shè),桂陽網(wǎng)站制作、桂陽網(wǎng)頁設(shè)計、桂陽網(wǎng)站官網(wǎng)定制、小程序制作服務(wù),打造桂陽網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供桂陽網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

前言

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

不多說,直接看效果:

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

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

環(huán)境配置

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

獲取好友

主要是獲取好友基本數(shù)據(jù),用來做數(shù)據(jù)可視化

代碼如下:

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

返回的是微信好友列表,包含好友城市,省份,性別和個性簽名等數(shù)據(jù)。

地理坐標(biāo)圖

地理坐標(biāo)系組件用于地圖的繪制,支持在地理坐標(biāo)系上繪制散點圖,線集。

在 pyecharts  中地理坐標(biāo)圖主要是基于 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")

運(yùn)行完之后會在當(dāng)前目錄生成一個 geo.png 的圖片

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

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

熱力圖

熱力圖也是基于 Geo 模塊

唯一的區(qū)別在 add 函數(shù)中 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")

比如可以選擇某個省份的數(shù)據(jù),運(yùn)行之后的效果:

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

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

全國分布圖

地圖是基于 Map 模塊進(jìn)行擴(kuò)展

主要用到函數(shù)是 add

 def add(
 # 系列名稱,用于 tooltip 的顯示,legend 的圖例篩選。
 series_name: str,

 # 數(shù)據(jù)項 (坐標(biāo)點名稱,坐標(biāo)點值)
 data_pair: Sequence,

 # 地圖類型,具體參考 pyecharts.datasets.map_filenames.json 文件
 maptype: str = "china",

 # 是否選中圖例
 is_selected: bool = True,

 # 是否開啟鼠標(biāo)縮放和平移漫游。
 is_roam: bool = True,

 # 當(dāng)前視角的中心點,用經(jīng)緯度表示
 center: Optional[Sequence] = None,

 # 當(dāng)前視角的縮放比例。
 zoom: Optional[Numeric] = 1,

 # 自定義地區(qū)的名稱映射
 name_map: Optional[dict] = None,

 # 標(biāo)記圖形形狀
 symbol: Optional[str] = None,

 # 是否顯示標(biāo)記圖形
 is_map_symbol_show: bool = True,

 # 標(biāo)簽配置項,參考 `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")

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

詞云圖

好友城市分布詞云圖

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("城市人數(shù)", [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可視化微信好友”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享文章:怎么利用Pyecharts可視化微信好友-創(chuàng)新互聯(lián)
本文鏈接:http://www.muchs.cn/article44/dsosee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計定制網(wǎng)站、網(wǎng)站排名、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名