初識Bokeh | 互動式數據可視化在Python中的實現
小序
陳坤在《鬼水瓶錄》中說,也許死是一種生,那麼結束就是一種新的開始。
OK,不賣關子了,今天開始,想跟大家一起學習一個新的數據可視化工具。
這個過程很多事情我都沒辦法預料,可能會有很多無聊的文檔翻譯,也可能會摸索到一些有趣的未知,所以,歡迎一起。
Bokeh
Bokeh是一個針對現代Web瀏覽器呈現功能的Python互動式可視化庫。它的目標是像D3.js一樣用新奇的圖表來給數據一個漂亮、簡潔的解釋,即便是非常大型的或者流數據也能保持高性能的交互。Bokeh可以幫助大家快速輕鬆地創建交互圖,儀錶板和數據應用。
(簡單來講,Bokeh就是Python中一個專門用來做互動式可視化圖表的一個庫,雖然沒有像D3.js一樣強大,但上手會相對簡單一些。)
Jupyter
為了更好地理解,我們簡單看個例子。
關於操作軟體,推薦Jupyter Notebook(可以先安裝Python,再安裝Anaconda,開始菜單運行Anaconda文件夾下的Jupyter Notebook即可打開)。
下面,我們直接在Jupyter看代碼運行一下這個示例。
舉個栗子
我們以第一個小圖為例看一下,代碼如下。
import numpy as np
from bokeh.plotting import figure, show, output_file
N = 500
x = np.linspace(0, 10, N)
y = np.linspace(0, 10, N)
xx, yy = np.meshgrid(x, y)
d = np.sin(xx)*np.cos(yy)
p = figure(x_range=(0, 10), y_range=(0, 10))
# must give a vector of image data for image parameter
p.image(image=[d], x=0, y=0, dw=10, dh=10, palette="Spectral11")
output_file("image.html", title="image.py example")
show(p) # open a browser
具體的代碼就先不解釋了,運行後會打開一個新的瀏覽器頁面展示結果。
運行結果:
推薦閱讀:
※Dynamo教程 Mesh提取三角面及著色
※可視化技術棧及學習計劃
※談一談Python數據可視化
※菌叔:這5款可視化工具你可要收好咯~
※全球百年地震數據可視化系統