標籤:

上手Bokeh | 互動式數據可視化庫Bokeh的快速入門

Bokeh是一款針對現代Web瀏覽器呈現功能的互動式可視化庫。Bokeh通過Python(或其他語言)以快速簡單的方式為超大型或流式數據集提供高性能交互的漂亮而且結構簡單的多功能圖形。

為了提供高級自定義所需的簡單性和強大而靈活的功能,Bokeh向用戶公開了兩個介面級別:

bokeh.models

為應用程序開發人員提供的最靈活的一個底層介面。

bokeh.plotting

以構成可視符號為中心的一個高層介面。

以下內容側重於bokeh.plotting介面。

安裝

安裝Bokeh有多種方式,我們推薦使用Anaconda Python distribution,並在Bash或Windows命令提示符下輸入以下命令:

conda install bokeh

(開始菜單-Anaconda文件夾-Anaconda Prompt,直接輸入以上命令即可)

如果你已經安裝了所有需要的依賴項(如NumPy),也可以在命令行中使用pip:

pip install bokeh

入門

Bokeh是一個包含很多功能的大型庫,因此本節只是對一些常見Bokeh用例的快速瀏覽。

我們從一些例子開始。

現在畫一個折線圖,圖表頁面包含縮放,平移,保存等功能。代碼如下:

from bokeh.plotting import figure, output_file, show

# 準備數據

x = [1, 2, 3, 4, 5]

y = [6, 7, 2, 4, 5]

# 輸出html文件

output_file("lines.html")

# 創建一個帶有標題和軸標籤的圖表

p = figure(title="simple line example", x_axis_label=x, y_axis_label=y)

# 添加一個帶有圖例和線條粗細的線條渲染器

p.line(x, y, legend="Temp.", line_width_=2)

# 展示結果

show(p)

當執行這個腳本時,會看到創建了一個新的輸出文件「lines.html」,瀏覽器還會自動打開一個新的標籤來顯示它。

在新的標籤頁,圖表右側有幾個小圖標,分別代表平移,選框縮放,滾輪縮放,保存,重置等。

畫圖步驟

準備數據

示例中是Python列表,也可以是NumPy數組或Pandas系列。

輸出html文件

示例中使用output_file(),文件名為「lines.html」。在Jupyter notebooks中也可以使用output_notebook()。

調用figure()

這一步將創建一個具有典型默認選項的圖形,並可輕鬆定製標題,工具和坐標軸標籤。

添加渲染器

在示例中,我們使用line()製作折線圖,渲染器可以自定義視覺,包括顏色,圖例,寬度等。

顯示(show())或保存(save())結果

這些功能將HTML繪圖保存到文件中、顯示在瀏覽器中。

如果我們需要通過添加更多的數據系列,符號,對數坐標軸等等來更多地定製輸出,那麼bokeh.plotting介面也非常方便。 如下代碼,可以輕鬆製作組合圖表:

from bokeh.plotting import figure, output_file, show

# 準備數據

x = [0.1, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0]

y0 = [i**2 for i in x]

y1 = [10**i for i in x]

y2 = [10**(i**2) for i in x]

# 輸出html文件

output_file("log_lines.html")

# 創建圖表

p = figure(

tools="pan,box_zoom,reset,save",

y_axis_type="log", y_range=[0.001, 10**11], title="log axis example",

x_axis_label=sections, y_axis_label=particles

)

# 添加渲染器

p.line(x, x, legend="y=x")

p.circle(x, x, legend="y=x", fill_color="white", size=8)

p.line(x, y0, legend="y=x^2", line_width_=3)

p.line(x, y1, legend="y=10^x", line_color="red")

p.circle(x, y1, legend="y=10^x", fill_color="red", line_color="red", size=6)

p.line(x, y2, legend="y=10^x^2", line_color="orange", line_dash="4 4")

# 展示結果

show(p)

Jupyter Notebooks默認工作目錄的修改

安裝Anaconda後,開始菜單-Anaconda文件夾-Jupyter Notebooks,打開Jupyter Notebooks後,首頁顯示就是默認的工作目錄,但很大概率上並不是我們想要的,所以,介紹一下修改方法。

1.開始菜單-Anaconda文件夾-Anaconda Prompt,輸入jupyter notebook --generate-config。

2.在個人用戶文件夾下找到.Jupyter文件夾,打開可以看到jupyter_notebook_config.py文件。

3.用記事本或編輯器打開py文件,找到#c.NotebookApp.notebook_dir = ,將這句話前面的「#」去掉,並改為c.NotebookApp.notebook_dir = D:ProgramDataJupyter,單引號裡面的路徑是我的工作空間,根據自己需要修改,這個文件夾需要自己提前新建好。

4.保存py文件,重啟Jupyter Notebooks。

接下來,就可以看到一個非常乾淨的頁面啦。

寫在最後

希望今天的幾個小例子能緩解下大家的無聊,以及感受一下Bokeh的炫酷。最後一部分是關於修改Jupyter Notebooks的默認工作目錄,過程中遇到了一點兒小坑,分享一下。

推薦閱讀:

Python3+Selenium+unittest自動化UI測試框架
PyQt5系列教程(34):書寫我要Markdown(QTextEdit的使用)
飽漢不知餓漢飢、會編程的不懂初學者的苦。
Python 在電氣工程及其自動化上有哪些應用?
Python告訴你:股神巴菲特有坑我們嗎?

TAG:Python |