Pyecharts 에서 Geo 함수 가 자주 사용 하 는 매개 변수의 용법 설명

1.Pyeharts 안내
pyecharts 는 Echarts 도 표를 만 드 는 데 사용 되 는 라 이브 러 리 입 니 다.Echarts 로 생 성 된 그림 의 시각 화 효과 가 좋 습 니 다.pyecharts 라 이브 러 리 는 Python 과 연결 하여 Python 에서 데이터 생 성 그림 을 직접 사용 할 수 있 습 니 다.
최신 Pyecharts 라 이브 러 리 버 전 은 v1 이 며,이전 버 전 v0.5.X 와 호 환 되 지 않 으 며,v0.5.X 버 전도 더 이상 유지 되 지 않 습 니 다.신 구 버 전의 Geo 는 비교적 큰 변동 이 있 는데 본 편 은 모두 구 버 전 0.5.11 을 바탕 으로 한다.
2.Pyecharts 설치
pyecharts 의 설치 설명 은 매우 간단 하고 많은 사내 들 이 과정 을 썼 습 니 다.이 편 은 군말 하지 않 고 주로 지 정 된 버 전의 문 제 를 말 합 니 다.
pyecharts 설치
Pyecharts v1 버 전의 설 치 는 pip install pyecharts-U 를 사용 할 수 있 습 니 다.
Pyecharts v 0.5.X 버 전의 설 치 는 pip install pyecharts==0.5.11 을 사용 할 수 있 습 니 다.
해당 맵 설치 확장

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 echarts-china-misc-pypkg
글로벌 국가 지도:echarts-countries-pypkg(1.9MB)
중국 성급 지도:echarts-china-provinces-pypkg(730 KB)
중국 시 급 지도:echarts-china-cities-pypkg(3.8MB)
중국 구 현 지도:echarts-china-countes-pypkg
중국 대구 지도:echarts-china-misc-pypkg(예 를 들 어 화남,화북 등)
3.Geo 상용 매개 변수 설명
1.Geo:geo=Geo()만 들 기
geo=Geo()는 지 도 를 그린 배경 이다.

Geo(title,subtitle,width,height,title_pos,title_top,title_color,subtitle_color,title_text_size,subtitle_text_size,background_color,page_title,renderer,is_animation)
각 매개 변 수 는 다음 과 같다.
실제 사용 과정 에서 우리 가 자주 사용 하 는 매개 변 수 는 title,width,height,background 와 같 습 니 다.color,이 몇 가지 기본 만 하면 충분 합 니 다.모든 매개 변 수 는 기본 값 이 있 습 니 다.이것 은 가장 극단 적 인 상황 에서 Geo()를 직접 사용 해도 된다 는 것 을 의미 합 니 다.그러나 그 려 진 것 은 백지 일 뿐 입 니 다.

Init docstring:
  :param title:
        ,    ,    ""
  :param subtitle:
        ,    ,    ""
  :param width:
       ,    800(px)
  :param height:
       ,    400(px)
  :param title_pos:
           ,   'left', 'auto', 'left', 'right',
   'center'  ,         
  :param title_top:
           ,   'top', 'top', 'middle', 'bottom'  ,
            
  :param title_color:
          ,    '#000'
  :param subtitle_color:
          ,    '#aaa'
  :param title_text_size:
            ,    18
  :param subtitle_text_size:
            ,    12
  :param background_color:
         ,    '#fff'
  :param page_title:
         html     <title>     。    'Echarts'
  :param renderer:
           ,  'svg'   'canvas'   ,    'canvas'。
   3D       'canvas'。
  :param extra_html_text_label:
       HTML     ,(<p>   )。    list,list[0]      ,
   list[1]        (  )。  ["this is a p label", "color:red"]
  :param is_animation:
         ,    True。V0.5.9+
예 를 들 면:

from pyecharts import Geo
 
geo =Geo("Geo    ", "   ",width=500, height=500, title_pos='center',title_top=20, title_color="#2E2E2E",
   subtitle_color='#aaa',title_text_size=16,subtitle_text_size=12,background_color='#EEEEE8',
   page_title='Echarts',renderer='canvas',is_animation=True)
 
geo

2、geo.add_coordinate()좌표 점 추가
geo.add_coordinate()의 역할 은 바로 새로 추 가 된 것 입 니 다.예 를 들 어 지금 광저우 지 도 를 호출 하 는 것 입 니 다.지금 특정한 점 인'테스트 1'을 표시 하려 면 이런 점 은 반드시 add 를 사용 해 야 합 니 다.coordinate 가 추가 되 었 습 니 다.그렇지 않 으 면 오류 가 발생 합 니 다(ValueError:No coordinate is specified for 테스트 1).
geo.add_coordinate(점 이름,경도,위도),3 개의 매개 변 수 는 모두 필수 항목 입 니 다.
geo.add_coordinate('테스트 포인트 1',113.40,23.07)
3.geo.add()좌표 점 보 여주 기
geo.add()의 역할 은 위 에 불 러 온 지도 에 점 을 보 여 주 는 것 입 니 다.add 는 많은 매개 변 수 를 가지 고 있 습 니 다.가장 많이 사용 하 는 것 은 series 입 니 다.name、names、value、type、maptype、is_visualmap、visual_range、visual_text_color、symbol_size,그 중 seriesname,names,value,maptype 이 네 가 지 는 필수 항목 입 니 다.

#     ,   tooltip    ,legend      。
 series_name: str,
 
 #     (     )
 names:list
 
 #     (    )
 value: list
 
 # Geo    ,  scatter, effectScatter, heatmap, lines 4  
 type:   "scatter",
 
 #       
 is_selected:   True,
 
 #       ,circle,pin,rect,diamon,roundRect,arrow,triangle
 symbol:   circle,
 
 #      
 symbol_size:   12,
 
 #    label   
 color:   None,
 
 #       ,   lines     
 is_polyline:    False,
 
 #             ,           (>=5k)    
 is_large:    False,
 
 #        。   0   1   ,        。
 trail_length:   0.2
 
 #     ,   、  、china
 maptype
 
 #       ,     Ture
 is_random
 
 #             。'scale'  、'move'  、'True'   
 is_roam:  True
 
 #     
 is_visualmap:  True
 
 #     
 visual_range
 
 #     
 visual_text_color
 
 #        
 geo_normal_color
 
 #        (       )
 geo_emphasis_color
 
 #     , type="effectScatter"    
 effect_scale
 
 #    
 is_label_show
 
 #    
 label_text_color
 
 #    (inside,top,bottom,left,right)
 label_pos:  "inside"
 
 #    
 border_color
예 를 들다

from pyecharts import Geo
 
districts=['   ', '   ', '   ','   1']
value = [ 200, 200,300,400]
 
geo =Geo("Geo    ", "   ",width=500, height=500, title_pos='center',title_top=20, title_color="#2E2E2E",
   subtitle_color='#aaa',title_text_size=16,subtitle_text_size=12,background_color='#EEEEE8',
   page_title='Echarts',renderer='canvas',is_animation=True)
 
geo.add_coordinate('   1',113.40,23.07)
geo.add("   1", 
  districts, value,type="effectScatter",is_selected=True,symbol='circle',symbol_size=20,color=None,
  maptype='  ',is_roam=True,is_visualmap=True, visual_range=[0,500],visual_text_color="#2E2E2E",
  geo_normal_color="#323c48",geo_emphasis_color='#2a033d', effect_scale=3,
  is_label_show=True,label_text_color="#00FF00",label_pos="inside"
  )
 
geo.render("    2.html")
geo

여기 서 두 가지 문제 가 아직 해결 되 지 않 았 다.첫째,israndom 매개 변수의 역할 은 True 나 False 에 영향 을 주지 않 는 것 같 습 니 다.둘째,위의 그림 과 같은 seriesname"시리즈 명 1",왼쪽 오른쪽 으로 이동 하 는 등 위 치 를 어떻게 바 꾸 는 지 모 르 겠 습 니 다.
4.geo.render()파일 저장
geo.render()는 간단 합 니 다.지 도 를 파일 로 저장 하 는 것 입 니 다.render 는 하나의 인자 만 있 습 니 다.바로 path 경로 입 니 다.

geo.render("    2.html")
추가:Pyecharts v1 Geo 라 이브 러 리 의 업데이트 및 응용
최근 에 Python 을 이용 하여 파충 류 를 하 는 과정 에서 웹 페이지 에서 기어 오 른 데 이 터 를 시각 적 으로 처리 해 야 한다.그 중에서 일부 데 이 터 는 지역 분포 에 관 한 것 이 고 지도 에 구체 적 인 매개 변수 분 포 를 표시 하면 데 이 터 를 더욱 직관 적 이 고 생동감 있 게 할 것 이다.
지도 에 표 시 된 도 구 는 Pyecharts 라 이브 러 리 에서 Geo 를 사용 합 니 다.Pycharm 에서 실 행 됩 니 다.주의해 야 할 것 은 최신 Pyecharts 라 이브 러 리 버 전 은 v1 이 고 최신 버 전 입 니 다.또한 기 존 버 전 v0.5.X 와 호 환 되 지 않 습 니 다.v0.5.X 버 전도 더 이상 유지 되 지 않 기 때문에 앞으로 최신 v1 버 전 을 최대한 활용 하 는 것 을 권장 합 니 다.본 고 는 여기 서 Geo 라 이브 러 리 의 업데이트 응용 에 대한 설명 을 할 것 이다.
Pyecharts v1 버 전의 설 치 는 pip install pyecharts-U 를 사용 할 수도 있 고 Pycharm 에 Pyecharts 를 직접 설치 할 수도 있 습 니 다.설명 문서 주 소 는https://pyecharts.org/#/zh-cn/intro입 니 다.
Pyecharts v 0.5.X 버 전의 설 치 는 pip install pyecharts==0.5.11 을 사용 할 수 있 으 며 설명 문서 의 주 소 는https://05x-docs.pyecharts.org/#/zh-cn/prepare입 니 다.
새 버 전 Pyecharts 의 지리 도표 Geo 는 비교적 큰 변화 가 있 었 다.전체적인 가장 직관 적 인 업데이트 느낌 은 새로운 라 이브 러 리 가 예전 처럼 번 거 롭 지 않 고 응용 하기에 더욱 간단 하고 직접적 이라는 것 이다.저 는 Python 을 처음 접 했 기 때문에 많은 것들 이 입문 한 지 얼마 되 지 않 았 습 니 다.현 단계 에서 Geo 를 초보 적 으로 사용 할 수 있 는 정도 에 이 르 렀 을 뿐 입 니 다.새로운 버 전 을 탐색 하 는 과정 에서 인터넷 에서 새로운 판 Pyecharts 에 대한 설명 이 매우 적 다 는 것 을 알 게 되 었 습 니 다.그래서 여기 서 자신 이 직면 한 문제 들 과 자신의 견 해 를 정리 하면 다음 과 같은 설명 과 이 해 는 비교적 얕 을 수 있 습 니 다.부디 독자 여러분 의 양 해 를 바 랍 니 다.
Geo:지리 좌표계
Geo 는 지리 적 좌표 로 표 시 된 도구 로 서 기능 적 으로 신 구 버 전 은 대체적으로 일치 하지만 세부 적 으로 큰 차이 가 있 기 때문에 신 구 코드 는 완전히 통용 되 지 않 는 다.
1.Geo:geo=Geo()만 들 기
v0.5.X 버 전에 서 geo 를 만 드 는 과정 에서 기본 적 인 매개 변 수 를 설정 할 수 있 습 니 다.
문서 의 예 를 설명 하면:

geo = Geo("          ", "data from pm2.5", title_color="#fff", title_pos="center", width=1200, height=600, background_color="#404a59", ) 
주 제목,부제,제목 색상 까지 도표 크기,배경 색상 등 을 설정 할 수 있 습 니 다.
그러나 새 버 전에 서 이러한 형식 으로 계속 만 들 때 컴 파일 러 는 AttributeError:'str'object has no attribute'get'을 잘못 보 고 했 습 니 다.이러한 대상 은 없습니다.새 문서 에서 Geo 를 직접 만 드 는 geo=Geo()입 니 다.사실 이렇게 만 드 는 것 도 기본 입 니 다.하지만 더 많은 매개 변 수 를 설정 하고 싶다 면 물론 가능 합 니 다.
새로운 라 이브 러 리 에서 Geo 에 대한 조작 은 init 에 통일 되 어 있 습 니 다.opts 에서 이 를 변경 하려 면 클래스 opts.InitOpts 를 통일 적 으로 수정 해 야 합 니 다.여기 서 는 from pyecharts import options as opts 를 도입 해 야 호출 할 수 있 습 니 다.
구체 적 인 InitOpts 는 다음 과 같은 매개 변 수 를 포함한다.

class InitOpts(BasicOpts):
 def __init__(
  self,
  width: str = "900px",
  height: str = "500px",
  chart_id: Optional[str] = None,
  renderer: str = RenderType.CANVAS,
  page_title: str = CurrentConfig.PAGE_TITLE,
  theme: str = ThemeType.WHITE,
  bg_color: Union[str, dict] = None,
  js_host: str = "",
  animation_opts: Union[AnimationOpts, dict] = AnimationOpts(),
 ):
  self.opts: dict = {
   "width": width,
   "height": height,
   "chart_id": chart_id,
   "renderer": renderer,
   "page_title": page_title,
   "theme": theme,
   "bg_color": bg_color,
   "js_host": js_host,
   "animationOpts": animation_opts,
  }
주의해 야 할 것 은 opt.InitOpts 를 직접 설정 하면 bg 와 같은 일부 매개 변 수 를 변경 할 수 있 습 니 다.color 등,width,height 등 매개 변 수 는 고정 적 으로 수정 할 수 없습니다.예 를 들 어 이렇게 설정 하면

geo = Geo(init_opts = opts.InitOpts("aaa", width = 400, height = 200, bg_color = "#404a59"))
TypeError:init()got multiple values for argument'width'의 다 중 할당 오 류 를 보고 합 니 다.다행히 새 버 전 은 Opts 설정 항목 을 매개 변수 로 전송 하 는 것 을 제외 하고 원생 dict 를 매개 변수 로 설정 합 니 다.모든 매개 변 수 는 스스로 정의 할 수 있 습 니 다.구체 적 인 조작 코드 는?

geo = Geo(init_opts = {"width":1600,"chart_id":"ceshi","bg_color":"#404a59"})
여기 서 이상 한 현상 을 발 견 했 습 니 다.height 인 자 를 변경 할 때 지도 에 그림 이 표시 되 지 않 고 그 원인 을 알 지 못 합 니 다.
2.add_schema 설정
add_schema 는 Geo 의 다음 함수 로 구체 적 인 기능 은 지도의 매개 변수 와 기능 을 설정 하 는 것 이다.주로

def add_schema(
 #     ,     pyecharts.datasets.map_filenames.json   
 maptype: str = "china",
 
 #              。
 is_roam: bool = True,
 
 #          。    1
 zoom: Optional[Numeric] = None,
 
 #         ,      。  :center: [115.97, 29.71]
 center: Optional[Sequence] = None,
 
 # #      ,   `series_options.LabelOpts`
 label_opts: Union[opts.LabelOpts, dict, None] = None,
 
 #              。
 itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] =None,
 
 #            
 emphasis_itemstyle_opts: Union[opts.ItemStyleOpts, dict,None] = None,
 
 #           。
 emphasis_label_opts: Union[opts.LabelOpts, dict, None] =None,
):
여 기 는 maptype,zoom,label 만 사용 해 봤 어 요.opts 의 설정,구체 적 인 설정 은 다음 과 같 습 니 다.

geo.add_schema(maptype = "china", zoom = 1, label_opts = opts.LabelOpts(is_show=True))
maptype 은 세계 지도,성 지도 등 으로 교체 할 수 있 으 며,지도 자원 은 아래 를 통과 할 수 있 습 니 다.

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 echarts-china-misc-pypkg
zoom 은 크기 조정 설정,labelopts 는 탭 설정 입 니 다.1 의 설정 과 같이 원생 dict 를 통 해 사용자 정의 설정 을 할 수 있 습 니 다.
3.add_coordinate 설정:좌표 점 추가
Geo 에 표시 해 야 할 좌표 점 을 스스로 추가 할 수 있 습 니 다.장소,경도,위도 등 세 개의 매개 변 수 를 설정 하면 추 가 를 완성 할 수 있 습 니 다.

def add_coordinate(
 #       
 name: str,
 #   
 longitude: Numeric,
 #   
 latitude: Numeric,
)
이 함 수 는 구 판 과 일치 하고 응용 도 매우 간단 합 니 다.여기 서 더 이상 군말 하지 않 고 간단 한 예 를 들 어 보 겠 습 니 다.

geo.add_coordinate("    ", 120, 80)
4.add 설정:디 스 플레이 와 그림 선택
이것 은 Geo 에서 가장 주요 한 함수 모듈 로 설정 할 수 있 는 매개 변수 유형 도 비교적 많 고 새로운 버 전의 add 함수 구 조 는 예전 에 비해 비교적 큰 변화 가 있 으 며 관련 매개 변 수 는 다음 과 같다.

def add(
 #     ,   tooltip    ,legend      。
 series_name: str,
 
 #     (     ,    )
 data_pair: Sequence,
 
 # Geo    ,  scatter, effectScatter, heatmap, lines 4  ,    
 # from pyecharts.globals import GeoType
 # GeoType.GeoType.EFFECT_SCATTER,GeoType.HEATMAP,GeoType.LINES
 type_: str = "scatter",
 
 #       
 is_selected: bool = True,
 
 #       
 symbol: Optional[str] = None,
 
 #      
 symbol_size: Numeric = 12,
 
 #    label   
 color: Optional[str] = None,
 
 #       ,   lines     
 is_polyline: bool = False,
 
 #             ,           (>=5k)    
 is_large: bool = False,
 
 #        。   0   1   ,        。    0.2
 trail_length: Numeric = 0.2,
 
 #          。
 large_threshold: Numeric = 2000,
 
 #      ,   `series_options.LabelOpts`
 label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(),
 
 #        ,   `series_options.EffectOpts`
 effect_opts: Union[opts.EffectOpts, dict] = opts.EffectOpts(),
 
 #       ,   `series_options.LineStyleOpts`
 linestyle_opts: Union[opts.LineStyleOpts, dict] = opts.LineStyleOpts(),
 
 #         ,   `series_options.TooltipOpts`
 tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,
 
 #        ,   `series_options.ItemStyleOpts`
 itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,
)
그 중에서 신 구 버 전의 가장 큰 차이 점 은 구 버 전의 장소 와 값 을 각각 attr 와 value 에 배치 하 는 것 이다.구 버 전의 전형 적 인 예 는 다음 과 같다.

from pyecharts import Geo
 
data = [
 ("  ", 9), ("    ", 12), ("  ", 12), ("  ", 12), ("    ", 14), ("  ", 15)
]
geo = Geo(
 "          ",
 "data from pm2.5",
 title_color="#fff",
 title_pos="center",
 width=1200,
 height=600,
 background_color="#404a59",
)
attr, value = geo.cast(data)
geo.add("", attr, value, type="effectScatter", is_random=True, effect_scale=5)
geo.render()
새 버 전의 add 함 수 는 장소 와 값 을 데이터 항목 에 넣 었 습 니 다.

geo.add("", [attr, value], type_=ChartType.HEATMAP, symbol_size = 12, label_opts = opts.LabelOpts(is_show=False))
다른 일부 매개 변수 설정 은 대체적으로 이전 과 일치 하고 설정 방식 도 1 중의 방식 을 참조 하여 진행 할 수 있다.
실행 중 재 미 있 는 문 제 를 발 견 했 습 니 다.예 를 들 어 좌 표를 표시 하고 삽입 하 는 것 과 같 습 니 다.

geo.add_coordinate("   1", 20, 40)
geo.add("haha1", [("   1", 60)])
geo.add_coordinate("   2", 60, 80)
geo.add("haha2", [("   2", 60)])
이렇게 실행 하 는 것 은 문제 가 없 지만 목록 에 있 는 항목 을 대량으로 삽입 하면

for i in range(num):
 geo.add_coordinate(address[i], lng[i], lat[i])
 geo.add("", [(address[i],60)])
이렇게 하면 잘못 보고 할 수 있 는데,구체 적 인 원인 은 잘 모 르 기 때문에 어 쩔 수 없 이 아래 와 같이 수정 할 수 밖 에 없다.

for i in range(num):
 geo.add_coordinate(address[i], lng[i], lat[i])
geo.add("", [(address[i],60) for i in range(num)])
이런 수정 을 한 후에 문제 가 없 을 것 입 니 다.이 유 를 아 는 친구 가 있 으 면 저 에 게 메 시 지 를 남 겨 주 셔 서 대단히 감사합니다.
또 주의해 야 할 문 제 는 중국 지 도 를 표시 할 때 사용 하 는 장 소 는'성','시'등 을 포함 할 수 없고'강 소','저장'등 지명 만 사용 할 수 있 으 며 그렇지 않 으 면 무효 라 는 점 이다.
마지막 으로 자신 이 실행 하고 생 성 된 레이 블 지 도 를 놓 으 려 고 하 는데 어 쩔 수 없 이 처음으로 여기에 표 시 된 글 은 그림 을 추가 하지 않 습 니 다!!
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.만약 잘못 이 있 거나 완전히 고려 하지 않 은 부분 이 있다 면 아낌없이 가르침 을 주시 기 바 랍 니 다.

좋은 웹페이지 즐겨찾기