2020년 J리그의 이적 상황을 가시화하고 싶지만, 어떻게 하는가?

동기


  • 축구는 매 시즌 많은 선수들이 이적합니다.
  • 이번 시즌의 공식 사이트에는, 1650명(2020/1/31 시점)의 선수가 등록되어 있습니다.
  • 또한 이적 정보를 게시하는 사이트 J'S GOAL’S 사이트에 이적 정보가 올라 있습니다.
  • 이전부터, 이 선수의 유동 상태를 가시화할 수 없는 것이라고 생각하고 있었습니다.
  • Google 선생님에게 「유입 유출 그래프」라고 검색해도 사용할 수 있는 것들은 히트 하지 않았습니다.
  • 그것을 「유입 유출 가시화」라고 하면 「선키 다이어그램」을 발견! 이것은 사용할 수 있습니다!

  • 선키 다이어그램 정보



    선키 다이어그램(영 Sankey diagram)은 공정간의 유량을 표현하는 도표이다. 화살표의 두께로 흐름의 양을 나타냅니다. 특히 에너지나 물자, 경비 등의 변위를 나타내는 데 사용된다.

    출처 : 무료 백과 사전 "Wikipedia (Wikipedia)"
  • 파이썬에서 sankey 다이어그램
  • 해보자 분석! 7장: Google Charts Sankey Diagram을 사용하여 데이터 시각화
  • github:ipysankeywidget
  • demo: Exporting Images.ipynb
  • plotly: Sankey Diagram in Python
  • matplotlib: sankey

  • 본가 matplotlib는 확실히 모르고, plotly는 매우 아름답지만 확실히 모른다. 에서 가장 쉬운 demo: Exporting Images.ipynb 에서 시도!

    사경



    sankey.py
    from ipysankeywidget import SankeyWidget
    from ipywidgets import Layout
    
  • 미리 pip install ipysankeywidget에서 라이브러리를 설치합니다.
  • 또한 jupyter lab에서 사용하는 경우
  • $ jupyter labextension install jupyter-sankey-widget @jupyter-widgets/jupyterlab-manager
    

    및 확장 기능을 등록합니다.

    sankey.py
    links = [
        {'source': 'start', 'target': 'A', 'value': 2},
        {'source': 'A', 'target': 'B', 'value': 2},
        {'source': 'C', 'target': 'A', 'value': 2},
        {'source': 'A', 'target': 'C', 'value': 2},
    ]
    

    이것이 데이터 부분이므로 이적의 더미 데이터로 바꿉니다.

    sankey.py
    links = [
        {'source': '北海道_in', 'target': '海外_out', 'value': 1},
        {'source': '北海道_in', 'target': 'J2_out', 'value': 1},
        {'source': '北海道_in', 'target': '大学_out', 'value': 3},
        {'source': '湘南_in', 'target': '北海道_out', 'value': 1},
        {'source': 'J3_in', 'target': '北海道_out', 'value': 1},
    ]
    

    sankey.py
    layout = Layout(width="600", height="400")
    sankey = SankeyWidget(links=links, layout=layout)
    sankey.auto_save_png('./img/test.png')
    

    출력 이미지의 크기는 너비: 600픽셀, 높이: 400픽셀로 PNG 형식으로 저장합니다.


    설명할 필요도 없지만, 가입한 선수가 5명으로 이적한 선수가 2명의 흐름을 표현할 수 있었습니다.
    (보고 주는 것은 쇼보입니다만, 일단 흐름은 표현할 수 있을 것 같네요)

    요약


  • 「python으로 sankey 다이어그램」 @에서 아이케이 씨나 demo: Exporting Images.ipynb

  • J'S GOAL’S 사이트 에서는, 저작권에 대해서 문서·화상·영상등의 복제 금지라고 명시하고 있습니다. 그러므로 스크래핑 기법이나 시각화 결과를 공유하지 않습니다.
  • 선키 다이어그램의 시각화에 대한 지식이 얻어졌다.
  • 좋은 웹페이지 즐겨찾기