使用 Python 進行數據可視化之Bokeh|Python 主題月

本文正在參加「Python主題月」,詳情查看 活動連接面試

上一篇文章咱們介紹了 Seaborn,接下來讓咱們繼續咱們列表的第三個庫。Bokeh 主要以其交互式圖表可視化而聞名。Bokeh 使用 HTML 和 JavaScript 呈現其繪圖,使用現代 Web 瀏覽器來呈現具備高級交互性的新穎圖形的優雅、簡潔構造。 數據庫

安裝

要安裝此類型,請在終端中輸入如下命令。編程

pip install bokeh
複製代碼

image.png

散點圖

散點圖中散景可使用繪圖模塊的散射()方法被繪製。這裏分別傳遞 x 和 y 座標。瀏覽器

例子:markdown

# 導入模塊
from bokeh.plotting import figure, output_file, show
from bokeh.palettes import magma
import pandas as pd


# 實例化圖形對象
graph = figure(title = "Bokeh Scatter Graph")

# 讀取數據庫
data = pd.read_csv("tips.csv")

color = magma(256)

# 繪製圖形
graph.scatter(data['total_bill'], data['tip'], color=color)

# 展現模型
show(graph)
複製代碼

輸出:ide

image.png

折線圖

例子:svn

# 導入模塊
from bokeh.plotting import figure, output_file, show
import pandas as pd

# 實例化圖形對象
graph = figure(title = "Bokeh Bar Chart")

# 讀取數據庫
data = pd.read_csv("tips.csv")

# 提示列的每一個惟一值的計數
df = data['tip'].value_counts()

# 繪製圖形
graph.line(df, data['tip'])

# 展現模型
show(graph)
複製代碼

輸出:函數

image.png

條形圖

條形圖能夠有水平條和垂直條兩種類型。 每一個均可以分別使用繪圖界面的 hbar() 和 vbar() 函數建立。post

例子:學習

# 導入模塊
from bokeh.plotting import figure, output_file, show
import pandas as pd


# 實例化圖形對象
graph = figure(title = "Bokeh Bar Chart")

# 讀取數據庫
data = pd.read_csv("tips.csv")

# 繪製圖形
graph.vbar(data['total_bill'], top=data['tip'])

# 展現模型
show(graph)
複製代碼

輸出:

image.png

交互式數據可視化

Bokeh 的主要功能之一是爲繪圖添加交互性。 讓咱們看看能夠添加的各類交互。

Interactive Legends

click_policy 屬性使圖例具備交互性。 有兩種類型的交互

  • 隱藏:隱藏字形。
  • 靜音:隱藏字形使其徹底消失,另外一方面,靜音字形只是根據參數去強調字形。

例子:

# 導入模塊
from bokeh.plotting import figure, output_file, show
import pandas as pd


# 實例化圖形對象
graph = figure(title = "Bokeh Bar Chart")

# 讀取數據庫
data = pd.read_csv("tips.csv")

# 繪製圖形
graph.vbar(data['total_bill'], top=data['tip'],
		legend_label = "Bill VS Tips", color='green')

graph.vbar(data['tip'], top=data['size'],
		legend_label = "Tips VS Size", color='red')

graph.legend.click_policy = "hide"

# 展現模型
show(graph)
複製代碼

輸出:

interactivelegendsbokeh.gif

添加小部件

Bokeh 提供了相似於 HTML 表單的 GUI 功能,如按鈕、滑塊、複選框等。這些爲繪圖提供了一個交互界面,容許更改繪圖參數、修改繪圖數據等。讓咱們看看如何使用和添加一些經常使用的小部件。 

按鈕

這個小部件向繪圖添加了一個簡單的按鈕小部件。 咱們必須將自定義 JavaScript 函數傳遞給模型類的 CustomJS() 方法。

複選框

向圖中添加標準複選框。與按鈕相似,咱們必須將自定義 JavaScript 函數傳遞給模型類的 CustomJS() 方法。

單選按鈕

添加一個簡單的單選按鈕並接受自定義 JavaScript 函數。

例子:

from bokeh.io import show
from bokeh.models import Button, CheckboxGroup, RadioGroup, CustomJS

button = Button(label="GFG")

button.js_on_click(CustomJS(
	code="console.log('button: click!', this.toString())"))

# 複選框和單選按鈕的標籤
L = ["First", "Second", "Third"]

# 活動參數集默認檢查選定的值
checkbox_group = CheckboxGroup(labels=L, active=[0, 2])

checkbox_group.js_on_click(CustomJS(code=""" console.log('checkbox_group: active=' + this.active, this.toString()) """))

# 活動參數集默認檢查選定的值
radio_group = RadioGroup(labels=L, active=1)

radio_group.js_on_click(CustomJS(code=""" console.log('radio_group: active=' + this.active, this.toString()) """))

show(button)
show(checkbox_group)
show(radio_group)
複製代碼

輸出:

image.pngimage.pngimage.png

注意: 全部這些按鈕都將在新選項卡上打開。

滑塊: 向繪圖添加一個滑塊。 它還須要一個自定義的 JavaScript 函數。

示例:

from bokeh.io import show
from bokeh.models import CustomJS, Slider

slider = Slider(start=1, end=20, value=1, step=2, title="Slider")

slider.js_on_change("value", CustomJS(code=""" console.log('slider: value=' + this.value, this.toString()) """))

show(slider)
複製代碼

輸出:

bokehtutorialslider.gif

一樣,更多的小部件可用,以下拉菜單或選項卡小部件能夠添加。

下一節咱們繼續談第四個庫—— Plotly

🥇 Python 進行數據可視化系列彙總

🧵 更多相關文章

🍰 往日優秀文章推薦:

若是你真的從這篇文章中學到了一些新東西,喜歡它,收藏它並與你的小夥伴分享。🤗最後,不要忘了❤或📑支持一下哦

相關文章
相關標籤/搜索