jupyterlab & matplotlib로 만든 그래프의 데이터 포인트에 링크 붙이기

이 기사에 대하여



기사 제목대로 하고 싶었다.
또 사용할 수 있을지도 모르기 때문에, 그 방법을 기록해 둔다.

절차


  • matplotlib에서 링크가있는 차트 만들기
  • svg 형식으로 저장
  • Chrome과 같은 브라우저에서 파일 열기

  • 환경



    자신은 jupyter-lab에서 일했습니다.
    버전은 이런 느낌 (pip freeze의 결과보다)
    jupyterlab-server==1.0.7
    matplotlib==3.2.1
    

    파일 작성


    # 各種設定
    import matplotlib.pyplot as plt
    from IPython.display import set_matplotlib_formats
    
    set_matplotlib_formats("svg")
    
    # テストデータ準備
    data_list = [[0, 1], [1,0], [1,1]]
    label_list = ['google', 'yahoo', 'lightcafe']
    url_list = ['https://www.google.com/', 'https://www.yahoo.co.jp/', 'https://www.lightcafe.co.jp/']
    
    # グラフ作成
    fig, ax = plt.subplots(1, 1, tight_layout=True)
    for d, l, u in zip(data_list, label_list, url_list):
        x, y = d
        ax.scatter(x, y)  #点プロット
        ax.annotate(l, xy=(x, y), size=10,  #文字プロット
                    url=u,
                    bbox=dict(color='w', alpha=1e-6, url=u),
                   )
    # 保存
    fig.savefig('test.svg')
    

    확인


    test.svg를 브라우저에서 열고 그래프의 데이터 점 or 레이블을 클릭하면
    설정한 링크로 날아갑니다.

    그건 그렇고, Google 공동 작업에서 동일한 작업을 수행하면 svg를 저장하지 않아도,
    셀의 Output에서 날 수 있습니다.



    이상

    참고


  • h tps : // s t c ゔ ぇ rf ぉ w. 코m/아/54121221
  • htps // tp t b. rg / 3.2. html # 아 d
  • 좋은 웹페이지 즐겨찾기