Html to Png
Folium 으로 맵을 만들고 나서 보면 html 파일로만 저장을 할 수가 있습니다.
하지만 보고서를 작성할 때 이미지가 필요한데 이때 일일이 캡쳐하기란 지루한 작업입니다.
conda install -c conda-forge pyppeteer
혹은
pip install pyppeteer
이미지 파일로 저장하기 위해서 우선 pyppeteer 을 설치하셔야 합니다.
from folium import utilities
from pyppeteer import launch
# 만든 지도를 png 파일로 캡쳐해서 저장하는 함수
async def map_to_png(target, m):
html = m.get_root().render()
browser = await launch(headless=True)
page = await browser.newPage()
with utilities.temp_html_filepath(html) as fname:
await page.goto('file://{path}'.format(path=fname))
img_data = await page.screenshot({'path': f'output/out_{target}.png', 'fullPage': 'true', })
await browser.close()
해당 코드로 html 페이지를 열어서 스크린샷으로 찍어 png 파일로 저장할 수 있습니다.
path 옵션을 이용해서 경로를 지정할 수 있습니다. 지금 같은 경우는 output 폴더 안에 저장이 됩니다.
# 함수 test 허리둘레 지도 시각화
target = '허리둘레'
waste_m = load_map(target) # folium 으로 맵 만들기
await map_to_png(target, waste_m)
함수를 사용할 때는 위와 같이 사용하시면 됩니다.
일단 folium 을 이용해서 맵을 만들고 그걸 return 해서 매개변수로 넣습니다.
await 을 사용해야 합니다.
+ 코드 출처
https://stackoverflow.com/questions/63166130/python-imgkit-could-not-render-the-whole-page
folium png save image save html to png
folium 이미지 파일로 저장하기 png로 저장하기 jpg
728x90
'📊 𝗕𝗶𝗴𝗗𝗮𝘁𝗮 > Visualization' 카테고리의 다른 글
[Plotly] 추이 비교 Multiple Bar 그래프 그리기 (0) | 2022.06.13 |
---|---|
[Folium] JSON 지도 위에 텍스트 넣기 (0) | 2022.06.09 |
대한민국 행정구역 경계 JSON 파일 변환 및 다운받기 (0) | 2022.05.27 |