Bokeh-플롯 내보내기
위에서 설명한 하위 명령 외에도 export () 함수를 사용하여 Bokeh 플롯을 PNG 및 SVG 파일 형식으로 내보낼 수 있습니다. 이를 위해 로컬 Python 설치에는 다음과 같은 종속성 라이브러리가 있어야합니다.
PhantomJS
PhantomJS는 자동화 된 탐색, 스크린 샷, 사용자 동작 및 어설 션을 지원하는 JavaScript API입니다. 브라우저 기반 단위 테스트를 실행하는 데 사용됩니다. PhantomJS는 WebKit을 기반으로 다양한 브라우저에 유사한 브라우징 환경을 제공하며 DOM 처리, CSS 선택기, JSON, 캔버스 및 SVG와 같은 다양한 웹 표준에 대한 빠르고 기본 지원을 제공합니다. 즉, PhantomJS는 그래픽 사용자 인터페이스가없는 웹 브라우저입니다.
베개
Python 이미징 라이브러리 (이전에는 PIL) 인 Pillow는 다양한 이미지 파일 형식 열기, 조작 및 저장을 지원하는 Python 프로그래밍 언어 용 무료 라이브러리입니다. (PPM, PNG, JPEG, GIF, TIFF 및 BMP 포함) 일부 기능은 픽셀 당 조작, 마스킹 및 투명도 처리, 이미지 필터링, 이미지 향상 등입니다.
export_png () 함수는 레이아웃에서 RGBA 형식 PNG 이미지를 생성합니다. 이 기능은 Webkit 헤드리스 브라우저를 사용하여 레이아웃을 메모리에 렌더링 한 다음 스크린 샷을 캡처합니다. 생성 된 이미지는 소스 레이아웃과 동일한 크기입니다. Plot.background_fill_color 및 Plot.border_fill_color가 None의 속성인지 확인합니다.
from bokeh.io import export_png
export_png(plot, filename = "file.png")
Adobe Illustrator와 같은 프로그램을 사용하여 편집 할 수있는 SVG 요소가있는 HTML5 Canvas 플롯 출력이 가능합니다. SVG 개체는 PDF로 변환 할 수도 있습니다. 여기서는 JavaScript 라이브러리 인 canvas2svg를 사용하여 SVG 요소를 사용하여 일반 Canvas 요소와 해당 메서드를 모의 처리합니다. PNG와 마찬가지로 투명한 배경으로 SVG를 만들려면 Plot.background_fill_color 및 Plot.border_fill_color 속성이 None이어야합니다.
SVG 백엔드는 Plot.output_backend 속성을 "svg"로 설정하여 먼저 활성화됩니다.
plot.output_backend = "svg"
헤드리스 내보내기의 경우 Bokeh에는 유틸리티 함수 export_svgs ()가 있습니다. 이 기능은 레이아웃 내의 모든 SVG 지원 플롯을 별개의 SVG 파일로 다운로드합니다.
from bokeh.io import export_svgs
plot.output_backend = "svg"
export_svgs(plot, filename = "plot.svg")