初識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款可視化工具你可要收好咯~
全球百年地震數據可視化系統

TAG:Python | 數據可視化 |