Convert Plotly Jupyterlab to HTML

Page content

개요

  • jupyter notebook에서 plotly 기반의 시각화를 작성한다.
  • jupyter notebook에서 html로 변환 시, plotly로 작성된 코드는 나타나지 않았다.
  • 이 때 필수적으로 입력해야 할 코드를 작성한다.

필수 코드 적용 전 변환 시

  • 간단한 시각화 코드를 작성 후, html로 변환한다.
import plotly.express as px

fig = px.line(x=["a","b","c"], y=[1,3,2], title="sample figure")
fig.show()
  • 아래 그림은 일반적으로 JupyterLab 에디터에서 HTML로 변환하는 과정이다.
    • File - Save and Export Notebook As… - HTML 순차적으로 클릭한다.

Screen Shot 2022-04-11 at 10.56.22 PM.png

  • 그런데, HTML로 변환된 파일을 클릭하면, 위 코드에서 보였던 코드는 안 보이게 된다.

Screen Shot 2022-04-11 at 10.56.00 PM.png

필수 코드 적용 후 변환 시

  • 이럴 경우에는 아래와 같은 코드를 상단에 추가한다.
import plotly.io as pio
pio.renderers = "jupyterlab"
import plotly.express as px
fig = px.line(x=["a","b","c"], y=[1,3,2], title="sample figure")
fig.show()
  • 정상적으로 코드가 적용되는 것을 확인할 수 있다.

Screen Shot 2022-04-11 at 11.04.28 PM.png

Setting the Default Renderer

  • pio.renderers 실행하면 다음과 같은 메시지가 나타난다. 여기에서 본인 환경에 맞는 적절한 renderers를 입력하면 된다.
import plotly.io as pio
pio.renderers = 'your_renderer'
Renderers configuration
-----------------------
    Default renderer: 'notebook_connected'
    Available renderers:
        ['plotly_mimetype', 'jupyterlab', 'nteract', 'vscode',
         'notebook', 'notebook_connected', 'kaggle', 'azure', 'colab',
         'cocalc', 'databricks', 'json', 'png', 'jpeg', 'jpg', 'svg',
         'pdf', 'browser', 'firefox', 'chrome', 'chromium', 'iframe',
         'iframe_connected', 'sphinx_gallery', 'sphinx_gallery_png']
  • 그러나, Kaggle이나 구글 코랩에서 작성 후, Jupyter Notebook으로 다운로드 받은 후, HTML 코드로 변환할 때는 위 코드가 적용이 되지 않는다.

Kaggle Notebook 적용

  • 이번에는 다음 코드를 Kaggle Notebook에 다음 그림과 같이 적용한다.
import plotly.io as pio
from plotly.offline import init_notebook_mode
init_notebook_mode(connected=True)

Screen Shot 2022-04-11 at 11.25.00 PM.png

  • 위 그림 우측 상단에서 Save Version을 클릭한 뒤 다음 화면에서 Download Code를 클릭하여 Jupyter Notebook을 다운로드 한다.
    • Edit 버튼 옆의 설정버튼을 클릭하면 메뉴화면을 확인할 수 있다.

Screen Shot 2022-04-11 at 11.15.21 PM.png

  • 다운로드 받은 파일을 Jupyter Lab에서 열면 그대로 그래프가 적용 되어 있는 것을 확인할 수 있다.

Screen Shot 2022-04-11 at 11.26.39 PM.png

  • 이번에는 HTML 파일로 변환해보면 정상적으로 변환된 것을 확인할 수 있다.

Screen Shot 2022-04-11 at 11.27.35 PM.png