Python 데이터 시각 화 pyecharts 사용 상세 설명

9587 단어 Pythonpyecharts
pyecharts 가 뭐 예요?  
pyecharts 는 Echarts 도 표를 만 드 는 데 사용 되 는 라 이브 러 리 입 니 다.
echarts 는 바 이 두 오픈 소스 의 데이터 시각 화 JS 라 이브 러 리 로 주로 데이터 시각 화 에 사용 된다.pyecharts 는 Echarts 도 표를 만 드 는 데 사용 되 는 라 이브 러 리 입 니 다.사실은 Echarts 와 Python 의 연결 입 니 다.
pyecharts 를 사용 하면 독립 된 웹 페이지 를 만 들 수도 있 고 flask,Django 에서 통합 적 으로 사용 할 수도 있 습 니 다.
pyecharts 에 포 함 된 도표
Bar(막대 그래프/막대 그래프)Bar3D(3D 막대 그래프)Boxplot(상자 형 그림)
  • EffectScatter(잔잔 한 물결 을 가 진 애니메이션 의 산 점도)
  • Funnel(깔때기 그림)Gauge(계기판)Geo(지리 좌표계)그래프(관계 도)HeatMap(열력 도)Kline(K선도)
  • Line(접선/면적 도)
  • Line3D(3D 접선 도)Liquid(수구 도)지도(지도)Parallel(평행 좌표계)Pie(떡 그림)Polar(극 좌표계)Radar(레이더 도)Sankey(상기 도)Scatter(산 점도)Scatter3D(3D 산 점도)ThemeRiver(테마 하천 도)WordCloud(단어 구름 그림)
    사용자 정의
    Grid 클래스:여러 장의 그림 을 병렬 로 표시 합 니 다
  • Overlap 류:서로 다른 유형의 도표 와 결합 하여 같은 그림 에 중첩 한다
  • 페이지 종류:같은 페이지 순서대로 여러 그림 을 보 여 줍 니 다타임 라인 클래스:타임 라인 순환 방송 여러 장의 그림 제공
    pyecharts 설치
    
    pip install pyecharts
    0.3.2 부터 프로젝트 자체 의 부 피 를 줄 이 고 pyecharts 프로젝트 의 경 량 화 운행 을 유지 하기 위해 pyecharts 는 더 이상 지도 js 파일 을 가지 고 있 지 않 습 니 다.사용자 가 지도 도표(Geo,Map)를 사용 해 야 할 경우 해당 하 는 지도 파일 패 키 지 를 자체 적 으로 설치 할 수 있 습 니 다.
    그렇지 않 으 면 이 두 가방 을 사용 할 때 지도 효 과 를 온전 하 게 나 타 낼 수 있다.
    세계 지도 와 213 개국,중국 지도 포함
    (730 KB):23 개 성,5 개 자치구
    글로벌 국가 지도:echarts-countries-pypkg(3.8MB):370 개 중국 도시
    Windows 에서 내 린 pip 명령 을 통 해 설치 합 니 다.
    
    pip install echarts-countries-pypkg
    pip install echarts-china-provinces-pypkg
    pip install echarts-china-cities-pypkg
    
    Linux 에 서 는 아래 pip 명령 을 통 해 설치 합 니 다.
    
    sudo pip3 install echarts-countries-pypkg 
    sudo pip3 install echarts-china-provinces-pypkg
    sudo pip3 install echarts-china-cities-pypkg
    sudo pip3 install echarts-countries-pypkg 
    sudo pip3 install echarts-china-provinces-pypkg
    sudo pip3 install echarts-china-cities-pypkg
    관련 함수,매개 변수 설명
    먼저 사용 할 수 있 는 기본 함 수 를 소개 합 니 다.
  • add()의 주요 방법 은 도표 의 데 이 터 를 추가 하고 각종 설정 항목 을 설정 하 는 데 사용 된다
  • show_config()출력 도표 의 모든 설정 항목 을 출력 합 니 다
  • render()기본 값 은 루트 디 렉 터 리 에 render.html 파일 을 생 성 합 니 다.path 인 자 를 지원 하고 파일 저장 위 치 를 설정 합 니 다.예 를 들 어 render(r"e:myfirst_chart.html"),파일 을 브 라 우 저 로 엽 니 다.
  • 기본 인 코딩 형식 은 UTF-8 입 니 다.Python 3 에 서 는 문제 가 없습니다.Python 3 은 중국어 에 대한 지원 이 많 습 니 다.그러나 Python 2 에서 인 코딩 처 리 는 매우 골 치 아 픈 문제 입 니 다.아직 완벽 한 해결 방법 을 찾 지 못 했 습 니 다.현 재 는 텍스트 편집 기 를 통 해 스스로 2 차 인 코딩 을 할 수 밖 에 없습니다.저 는 Visual Studio Code 를 사 용 했 습 니 다.먼저 Gbk 인 코딩 을 통 해 다시 연 다음 에 UTF-8 로 다시 저장 하면 브 라 우 저 로 열 면 중국어 인 코딩 문제 가 발생 하지 않 습 니 다.(여 기 는 어떤 사내 가 만난 문제 입 니 다.제 가 직접 복사 해 왔 습 니 다.참고 하 시기 바 랍 니 다)
    기본적으로 모든 도표 유형 은 이렇게 그립 니 다.
  • chart_name=Type()구체 적 인 유형 도 표를 초기 화 합 니 다.
  • add()에 데이터 및 설정 항목 을 추가 합 니 다
  • render()생 성.html 파일.
  • 기본 도표 사용 실례
    Bar(막대 그래프/막대 그래프)
    
    from pyecharts import Bar
    bar =Bar("       ", "      ")
    bar.add("  ", ["  ", "   ", "   ", "  ", "   ", "  "], [5, 20, 36, 10, 75, 90])
    bar.show_config()
    bar.render()
    
    from pyecharts import Bar
    bar =Bar("x    y    ")
    bar.add("  A", attr, v1)
    bar.add("  B", attr, v2, is_convert=True)
    bar.render()

    설명:다음 코드,atftb1 속성 은 도표 에 표시 되 지 않 습 니 다.
    
    bar = Bar()
    bar.add('   ',["atf_tb1","shop"],[10,50])
    bar.add("  ", ["shop"], [120])
    bar.render()


    atftb1 은 도표 에 불 러 오지 않 았 습 니 다.이렇게 사용 하 는 것 을 지원 하지 않 는 다 는 것 을 설명 합 니 다.
    파이
    
    from pyecharts import Pie
    attr =["  ", "   ", "   ", "  ", "   ", "  "]
    v1 =[11, 12, 13, 10, 10, 10]
    pie =Pie("    ")
    pie.add("", attr, v1, is_label_show=True)
    pie.show_config()
    pie.render()

    워드 클 라 우 드
    
    from pyecharts import WordCloud 
    name =['Sam S Club', 'Macys', 'Amy Schumer', 'Jurassic World', 'Charter Communications', 'Chick Fil A', 'Planet Fitness', 'Pitch Perfect', 'Express', 'Home', 'Johnny Depp', 'Lena Dunham', 'Lewis Hamilton', 'KXAN', 'Mary Ellen Mark', 'Farrah Abraham', 'Rita Ora', 'Serena Williams', 'NCAA baseball tournament', 'Point Break']
    value =[10000, 6181, 4386, 4055, 2467, 2244, 1898, 1484, 1112, 965, 847, 582, 555, 550, 462, 366, 360, 282, 273, 265]
    wordcloud =WordCloud(width=1300, height=620)
    wordcloud.add("", name, value, word_size_range=[20, 100])
    wordcloud.show_config()
    wordcloud.render()

    단어 구름 그림 의 모양 은 shape 매개 변 수 를 통 해 선택 할 수 있 습 니 다.
    
    wordcloud =WordCloud(width=1300, height=620)
    wordcloud.add("", name, value, word_size_range=[30, 100], shape='diamond')
    wordcloud.show_config()
    wordcloud.render()

    Geo(지리 좌표계)
    
    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.show_config()
    geo.render()
    여기 도 먼저 설명해 야 합 니 다.echarts 에 있 는 장소 가 없 을 수도 있 기 때문에 없 는 것 을 추가 하면 빈 그림 이 생 성 됩 니 다.
    네 가지 해결 방법 이 있다.
    하 나 는 존재 하지 않 는 것 을 삭제 하 는 것 이다.
    둘째,바 이 두 지도 api 에서 찾 을 수 없 는 곳 의 경 위 를 원시 적 인 가방 에 넣 는 것 이다.
    셋째,당신 의 데이터 가 지도 에 좌표 도시 가 없다 면 geo 를 통 해cities_coords 가 직접 추가 합 니 다.GeoLine 그림 도 마찬가지 입 니 다.
    
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    # Author: jyroy
    from pyecharts import Geo
     if __name__ == '__main__':
    
     list_city_name=["100,30-1","130,40-2"]
     list_num = [["value1","value2"],["value3"]]
     geo_cities_coords = {"100,30-1":[100,30],"130,40-2":[130,40]}
    
     geo = Geo("Geo   ")
     geo.add("",list_city_name, list_num, geo_cities_coords=geo_cities_coords)
     geo.render()

    넷 째,가 져 온 데 이 터 를 대량으로 가 져 오 면(데이터베이스 에서 와 유사)이상 데 이 터 를 지도 에 삽입 하고 싶 지 않 습 니 다.try..except..을 통 해 이 작은 부분의 이상 데 이 터 를 제거 할 수 있 습 니 다.다음 코드 는 제 가 직면 한 문제 에 대한 해결 방법 입 니 다.data 는 제 가 데이터베이스 에서 얻 은 사전 입 니 다.
    물론 데이터 양 이 많 으 면 이렇게 하면 효율 이 높 지 않 을 수 있 으 니 참고 하 세 요.
    
     for n, m in data.items(): #data                 
      list_1 = []
      list_2 = []
      list_1.append(n)
      list_2.append(m)
      try:
       geo.add("", list_1, list_2, visual_range=[0, 3000], visual_text_color="#fff", symbol_size=15, is_visualmap=True)
      except Exception as e:
       pass
    물론 데이터 양 이 많 으 면 이렇게 하면 효율 이 높 지 않 을 수 있 습 니 다.참고 하 세 요.이것 은 제 프로젝트 의 일부 데이터 에서 얻 은 결과 입 니 다.저 는 7 만 여 개의 데 이 터 를 가지 고 테스트 를 했 는데 효과 가 괜 찮 은 것 같 습 니 다.

    Line(접선/면적 도)
    
    from pyecharts import Line 
    attr =["  ", "   ", "   ", "  ", "   ", "  "]
    v1 =[5, 20, 36, 10, 10, 100]v2 =[55, 60, 16, 20, 15, 80]
    line =Line("     ")
    line.add("  A", attr, v1, mark_point=["average"])
    line.add("  B", attr, v2, is_smooth=True, mark_line=["max", "average"])
    line.show_config()
    line.render()
    
    line =Line("   -     ")
    line.add("  A", attr, v1, is_fill=True, line_opacity=0.2, area_opacity=0.4, symbol=None)
    line.add("  B", attr, v2, is_fill=True, area_color='#000', area_opacity=0.3, is_smooth=True)
    line.show_config()
    line.render()

    뒤에 쓰다
    제 가 사용 하 는 과정 에서 데이터 베 이 스 를 결합 하여 대량으로 처 리 했 기 때문에 제 가 쓴 것 을 모두 올 리 지 않 았 습 니 다.이것 은 위 지도 에서 세 번 째 해결 방법 으로 제 코드 를 일부 넣 었 고 다른 것 은 모두 인터넷 에서 흔히 볼 수 있 는 테스트 사례 입 니 다.
    여 기 는 모두 기본 적 인 소개 입 니 다.http://pyecharts.org/#/zh-cn/,이것 은 개 원 된 프로젝트 이기 때문에 pyecharts 도 세 사람 이 계속 유지 하고 있 습 니 다.홈 페이지 의 내용 이 매우 풍부 하고 중국어 버 전이 있 습 니 다.
    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기