Bokeh - 匯出圖表



除了上面描述的子命令外,Bokeh 圖表還可以使用 export() 函式匯出為 PNG 和 SVG 檔案格式。為此,本地 Python 安裝應具有以下依賴庫。

PhantomJS

PhantomJS 是一個 JavaScript API,它能夠實現自動導航、螢幕截圖、使用者行為和斷言。它用於執行基於瀏覽器的單元測試。PhantomJS 基於 WebKit,為不同的瀏覽器提供了類似的瀏覽環境,併為各種 Web 標準提供了快速且原生的支援:DOM 處理、CSS 選擇器、JSON、Canvas 和 SVG。換句話說,PhantomJS 是一個沒有圖形使用者介面的 Web 瀏覽器。

Pillow

Pillow,一個 Python 影像庫(之前稱為 PIL),是一個免費的 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")

可以使用 SVG 元素輸出 HTML5 Canvas 圖表,該元素可以使用 Adobe Illustrator 等程式進行編輯。SVG 物件也可以轉換為 PDF。這裡,canvas2svg,一個 JavaScript 庫,用於模擬普通的 Canvas 元素及其方法與 SVG 元素。與 PNG 一樣,為了建立具有透明背景的 SVG,Plot.background_fill_color 和 Plot.border_fill_color 屬性應設定為 None。

首先透過將 Plot.output_backend 屬性設定為“svg”來啟用 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")
廣告

© . All rights reserved.