어떻게 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.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 그림 을 생 성 합 니 다.

이 사진 은 위 챗 친구 중국 분포 지도
열 그래프
열력 도 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")
예 를 들 어 특정한 성의 데 이 터 를 선택 하고 실행 후의 효 과 를 선택 할 수 있 습 니 다.

이상 은 위 챗 의 광 둥 친구 분포 열력 도 입 니 다.
전국 분포 도
지 도 는 맵 모듈 을 기반 으로 확장 합 니 다.
함수

 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")
효 과 는 다음 과 같 습 니 다:

막대 그래프
먼저 효과 보기:

코드 는 다음 과 같 습 니 다:

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
마지막 으로 여러분 에 게 위 챗 프로필 사진 의 또 다른 재 미 있 는 방식 을 제공 합 니 다.
먼저 그림 보기:

이외에 도 맞 춤 형 문자 로 자신 이 만 들 고 싶 은 문 자 를 입력 하면 됩 니 다!

원본 다운로드:여 기 를 클릭 하 세 요.
총결산
이상 은 이 글 의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가 치 를 가지 기 를 바 랍 니 다.여러분 의 저희 에 대한 지지 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기