Bokeh概念和操作步驟

Python Bokeh是一個(gè)用于現(xiàn)代web瀏覽器的交互式可視化庫(kù)朴乖。它提供了優(yōu)雅祖屏、簡(jiǎn)潔的通用圖形結(jié)構(gòu),并在大型或流式數(shù)據(jù)集上提供高性能的交互性寒砖。Bokeh可以快速輕松地制作交互式繪圖赐劣、儀表板嫉拐。

Bokeh概念

先對(duì)Bokeh的基本的概念進(jìn)行說(shuō)明哩都。在對(duì)基本概念有一定的印象后再對(duì)使用Bokeh的基礎(chǔ)流程進(jìn)行介紹。

概念 說(shuō)明
Plot Bokeh中的核心概念婉徘,容納所有對(duì)象(渲染器漠嵌、向?qū)Ц拦?shù)據(jù)和工具)的容器,容器中的不同對(duì)象組合成最終的可視化儒鹿。在bokeh.plotting接口提供figure函數(shù)能進(jìn)入到各種不同的的對(duì)象中
Glyphs 是Bokeh可以顯示的基本視覺(jué)標(biāo)記化撕,為了方便開(kāi)發(fā)而在較高層級(jí)的接口。其底層接口為bokeh.models约炎,可以進(jìn)行完全的控制繪制
Guides 幫助用戶判斷距離植阴、角度等的視覺(jué)輔助工具。包括網(wǎng)格線或波段圾浅、軸(如線性掠手、日志或datetime)
Annotations 視覺(jué)輔助工具,標(biāo)簽或名稱的部分。這些包括標(biāo)題狸捕、說(shuō)明等
Ranges 用來(lái)描述了一個(gè)Plot的數(shù)據(jù)空間界限
Resources 要生成Plot,客戶庫(kù)BokehJS JavaScript和CSS代碼必須加載到瀏覽器中
Application 用于生成Bokeh文檔的具體對(duì)象喷鸽,通常在Bokeh創(chuàng)建一個(gè)連接一個(gè)新的回話是創(chuàng)建
BokehJS JavaScript實(shí)現(xiàn)Web前端的可視化功能,在瀏覽器中處理Bokeh圖和小部件的UI交互
Documents 為Bokeh應(yīng)用程序組織數(shù)據(jù)結(jié)構(gòu)灸拍,呈現(xiàn)交互式可視化或應(yīng)用程序所需的所有Bokeh模型和數(shù)據(jù)
Embedding 嵌入操作做祝,將Bokeh可視化對(duì)象和窗口部件嵌入到Web應(yīng)用或IPthon notebook中
Models 是包含Bokeh場(chǎng)景最下層的對(duì)象,通過(guò)bokeh.models接口調(diào)用鸡岗。一般情況下混槐,不會(huì)直接使用
Server 可以用于共享和發(fā)布Bokeh圖和應(yīng)用程序,用于處理大型數(shù)據(jù)集的流媒體,或者支持基于小部件和選擇的復(fù)雜的用戶交互
Widgets 在Bokeh圖之外的用戶界面元素,如滑塊、下拉菜單轩性、按鈕等纵隔。事件和小部件的更新可以通知額外的計(jì)算,或者導(dǎo)致Bokeh的情節(jié)更新

Bokeh使用步驟

這里說(shuō)明的使用步驟,實(shí)際是對(duì)bokeh.plotting接口的使用炮姨。也是在絕大數(shù)情況下的操作步驟捌刮。

  • 數(shù)據(jù)的準(zhǔn)備
    對(duì)于數(shù)據(jù)源可以是Python的列表數(shù)據(jù)類型,也可以可以是Numpy array和Pandas Series類型舒岸。

  • 設(shè)置輸出文件
    可以使用output_file()函數(shù)將結(jié)果輸出到html文件中绅作,使用output_notebook()函數(shù)將結(jié)果內(nèi)容輸出到Jupyter notebooks文件中

  • 調(diào)用figure()函數(shù)
    這將創(chuàng)建一個(gè)默認(rèn)選項(xiàng)的Plot,并可以輕松定制標(biāo)題蛾派、工具和軸標(biāo)簽俄认。

  • 用Glyphs渲染數(shù)據(jù)
    使用不同的Glyphs,繪制數(shù)據(jù)『檎В可指定可視化自定義眯杏,如顏色、圖例和寬度

  • 顯示保存結(jié)果
    使用show()和save()函數(shù)那些對(duì)結(jié)果展示和保存壳澳。

核心模塊

主要有兩個(gè)核心的模塊構(gòu)成岂贩,分別是BokehJS JavaScript庫(kù)和bokeh.models Python庫(kù)。

  • 關(guān)于BokehJS JavaScript庫(kù)巷波。
    在瀏覽器中執(zhí)行萎津,負(fù)責(zé)所有的呈現(xiàn)和用戶交互卸伞。接收一個(gè)聲明性JSON對(duì)象集合,其中包含一要繪制的場(chǎng)景說(shuō)明锉屈。
    在接收的JSON中的對(duì)象數(shù)據(jù)將會(huì)轉(zhuǎn)換為BokehJS中模型荤傲,并在瀏覽器上顯示。對(duì)于這個(gè)JSON數(shù)據(jù)文件有Bokeh Ptyhon代碼生成颈渊。

  • 關(guān)于bokeh.models Python庫(kù)遂黍。
    在Python Bokeh中通過(guò)相關(guān)的類,用于生成供BokehJS使用的JSON數(shù)據(jù)俊嗽。這些Python Bokeh知道如何生成模型的
    數(shù)據(jù)和屬性妓湘,并序列化為JSON格式。這些功能可以在較為底層中的bokeh.models接口中找到乌询。

示例

from bokeh.plotting import figure, output_file, show

# 準(zhǔn)備要繪制的數(shù)據(jù) 
x = [1, 2, 3, 4, 5]
y = [6, 7, 2, 4, 5]

# 以靜態(tài)網(wǎng)頁(yè)方式輸出可視化結(jié)果
output_file("1-lines.html")

# 創(chuàng)建一個(gè)包含標(biāo)題和x,y說(shuō)明的新的plot
p = figure(title="simple line example", x_axis_label='x', y_axis_label='y')

# 繪制線段
p.line(x, y, legend="Temp.", line_width=2)

# 展示結(jié)果
show(p)

輸出的結(jié)果為html文件榜贴,其中html中的展示的結(jié)果如下:


first_demo.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市妹田,隨后出現(xiàn)的幾起案子唬党,更是在濱河造成了極大的恐慌,老刑警劉巖鬼佣,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件驶拱,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡晶衷,警方通過(guò)查閱死者的電腦和手機(jī)蓝纲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)晌纫,“玉大人税迷,你說(shuō)我怎么就攤上這事∏率” “怎么了箭养?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)哥牍。 經(jīng)常有香客問(wèn)我毕泌,道長(zhǎng),這世上最難降的妖魔是什么嗅辣? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任撼泛,我火速辦了婚禮,結(jié)果婚禮上澡谭,老公的妹妹穿的比我還像新娘愿题。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布抠忘。 她就那樣靜靜地躺著,像睡著了一般外永。 火紅的嫁衣襯著肌膚如雪崎脉。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,292評(píng)論 1 301
  • 那天伯顶,我揣著相機(jī)與錄音囚灼,去河邊找鬼。 笑死祭衩,一個(gè)胖子當(dāng)著我的面吹牛灶体,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播掐暮,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蝎抽,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了路克?” 一聲冷哼從身側(cè)響起樟结,我...
    開(kāi)封第一講書(shū)人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎精算,沒(méi)想到半個(gè)月后瓢宦,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡灰羽,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年驮履,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片廉嚼。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡玫镐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出怠噪,到底是詐尸還是另有隱情摘悴,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布舰绘,位于F島的核電站蹂喻,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏捂寿。R本人自食惡果不足惜口四,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望秦陋。 院中可真熱鬧蔓彩,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至更卒,卻和暖如春等孵,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蹂空。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工俯萌, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人上枕。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓咐熙,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親辨萍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子棋恼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 說(shuō)起劉雯嘲玫,我相信大家都不陌生悦施,2009年,作為第一個(gè)亞洲模特登上“維多利亞的秘密”內(nèi)衣秀去团。繼2011年之后再度入榜...
    小陳聊搭配閱讀 611評(píng)論 0 3
  • 從小我就是大家眼中公認(rèn)的假小子抡诞,爬樹(shù)、掏鳥(niǎo)窩土陪、捉魚(yú)昼汗、打架、鬼雀、顷窒、、源哩、鞋吉、無(wú)所不能,小時(shí)候也樂(lè)在其中励烦。長(zhǎng)大后成了大...
    曉靜妞妞閱讀 210評(píng)論 0 0
  • 不記得它的名字谓着,前前后后沒(méi)有留下什么特別的印記,所有的記憶集中在03年以前坛掠。 養(yǎng)貓是一件愉快的事赊锚,溫順聽(tīng)話治筒。家...
    午覺(jué)正酣閱讀 213評(píng)論 0 1