數(shù)據(jù)可視化課件_第1頁
數(shù)據(jù)可視化課件_第2頁
數(shù)據(jù)可視化課件_第3頁
數(shù)據(jù)可視化課件_第4頁
數(shù)據(jù)可視化課件_第5頁
已閱讀5頁,還剩71頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1數(shù)據(jù)可視化第一章Matplotlib的基本使用第二章Matplotlib的進階使用第三章…第四章目錄Contents…第五章緒論2

Bokeh的使用2圖表基本參數(shù)設(shè)置圖表輔助參數(shù)設(shè)置3基本圖形繪制45圖表進階操作6工具欄設(shè)置7其他交互工具設(shè)置1引言3引言1.41引言

51引言Bokeh是一個交互式可視化庫,針對現(xiàn)代web瀏覽器進行顯示。它的目標是提供優(yōu)雅、簡潔的通用圖形構(gòu)造,并在非常大的或流數(shù)據(jù)集上以高性能的交互性擴展這種能力。Bokeh可以幫助任何想要快速輕松地創(chuàng)建交互式圖表、儀表板和數(shù)據(jù)應(yīng)用程序。Bokeh庫捆綁了多種語言,包括Python、R語言、lua和Julia,結(jié)合這些語言產(chǎn)生了JSON文檔。該文檔將作為BokehJS(JavaScript庫)的輸入,之后將數(shù)據(jù)展示到Web瀏覽器上面。6圖表基本參數(shù)設(shè)置2.72圖表基本參數(shù)設(shè)置Bokeh的安裝和其他庫的安裝大同小異。如果你已經(jīng)是anaconda用戶,則只需運行以下命令:condainstallbokeh?;蛘?,也可以使用pip進行安裝:pipinstallbokeh。在安裝好后,我們就可以繪制簡單的圖形了。82圖表基本參數(shù)設(shè)置如果是在類似spyder等非notebook中進行繪圖,我們就不能使用output_notebook,而需要使用output_file命令。運行后,會彈出一個HTML窗口,我們所繪制的圖形即展現(xiàn)在彈出的HTML中。同時,會產(chǎn)生一個HTML文件保存在指定路徑下。92圖表基本參數(shù)設(shè)置102圖表基本參數(shù)設(shè)置——基本設(shè)置不同于Matplotlib和Seaborn繪圖,用Bokeh進行繪圖,有很多線的設(shè)置、字體的設(shè)置等是通用的。比如說,outline_line_width用于調(diào)整外邊框的線寬,xaxis.axis_line_width用于調(diào)整x軸的線寬。其本質(zhì)都是通過line_width調(diào)整線寬。接下來我們介紹一些類似line_width這種通用的基本設(shè)置。線的設(shè)置112圖表基本參數(shù)設(shè)置——基本設(shè)置在Bokeh中,常見的線的設(shè)置參數(shù)如下:?line_color:設(shè)置顏色,默認值:黑色。?line_width:設(shè)置寬度,默認值:1。?line_alpha:設(shè)置透明度,默認值:1.0。?line_join:設(shè)置連接點樣式:可選值有:'miter'、'round'、'bevel',默認值:'bevel'。?line_cap:設(shè)置線端口樣式,可選值有:'butt'、'round'、'square',默認值:'butt'。?line_dash:設(shè)置線條樣式,可選值有:'solid'、'dashed'、'dotted'、'dotdash'、'dashdot',或者整型數(shù)組方式(例如[6,4]),默認值:[]。線的設(shè)置122圖表基本參數(shù)設(shè)置——基本設(shè)置在Bokeh中,常見的填充的設(shè)置參數(shù)如下:?fill_color:設(shè)置填充顏色。?fill_alpha:設(shè)置填充透明度。填充的設(shè)置132圖表基本參數(shù)設(shè)置——基本設(shè)置在Bokeh中,常見的字體的設(shè)置參數(shù)如下:?text_font:字體。?text_font_size:字體大小,單位為pt、px或者em,默認值為'12px'('10pt'或'1em')。?text_font_style:字體風(fēng)格,可選參數(shù)有:'normal'、'italic'、'bold',默認值為:'normal'。?text_color:字體顏色。?text_alpha:字體透明度,默認值為:1.0。?text_align:字體水平方向位置,可選參數(shù)有:'left'、'right'、'center',默認值為:'left'。?text_baseline:字體垂直方向位置,可選參數(shù)為:'top','middle','bottom','alphabetic''hanging',默認值為:'bottom'。字體的設(shè)置142圖表基本參數(shù)設(shè)置——基本設(shè)置字體的設(shè)置152圖表基本參數(shù)設(shè)置——基本設(shè)置在Bokeh中,基本參數(shù)中都含有.visible參數(shù),用于設(shè)置該參數(shù)是否可見可見性的設(shè)置162圖表基本參數(shù)設(shè)置——背景的設(shè)置如果我們想修改背景色等,可以通過backgroud和border分別修改繪圖空間背景和外邊界背景。172圖表基本參數(shù)設(shè)置——背景的設(shè)置我們還可以通過min_border參數(shù)去修改外邊界的范圍182圖表基本參數(shù)設(shè)置——軸線的設(shè)置軸線的線的設(shè)置和標簽的設(shè)置,可以參考之前所講的基本設(shè)置中線的設(shè)置和字體的設(shè)置。192圖表基本參數(shù)設(shè)置——軸線的設(shè)置在介紹軸線的刻度設(shè)置前,我們需要先了解major_tick和minor_tick分別指的是哪部分。以下圖的y軸為例,我們可以簡單理解成:刻度值為3、4等整數(shù)的刻度為主刻度;刻度值為3.2、3.4等,位于主刻度之間的,為次刻度。202圖表基本參數(shù)設(shè)置——軸線的設(shè)置主次刻度的設(shè)置除了刻度線的設(shè)置外,還可以通過tick_in和tick_out控制刻度線的方向和長度。可以看出,tick_in控制的是朝內(nèi)的長度,tick_out控制的是朝外的長度。212圖表基本參數(shù)設(shè)置——網(wǎng)格的設(shè)置在網(wǎng)格的設(shè)置中,我們可以通過修改grid_line來設(shè)置網(wǎng)格線的樣式,還可以通過band_fill來設(shè)置填充的顏色等。222圖表基本參數(shù)設(shè)置——圖例的設(shè)置在設(shè)置圖例時,我們需要注意,一定要在繪圖時就設(shè)置好圖例的名稱,后續(xù)才能對圖例的位置、顏色、字體等進行設(shè)置。設(shè)置圖例時一些常見的參數(shù)如下:legend.location:圖例位置,可選參數(shù)有'top_left'、'top_center'、'top_right'、'center_right'、'bottom_right'、'bottom_center'、'bottom_left'、'center_left'、'center',默認參數(shù)為'top_right'。legend.orientation:圖例排列方向,可選參數(shù)有'vertical'、'horizontal',默認參數(shù)為'vertical'。23圖表輔助參數(shù)設(shè)置3.243圖表輔助參數(shù)設(shè)置——輔助線的設(shè)置假設(shè)我們在繪圖的時候用到了折線圖,我們想用兩條線標注出該折線圖的最大值和最小值,就需要用到輔助線。在Bokeh中,輔助線是通過annotations中的Span進行調(diào)用的,常見參數(shù)如下:location:設(shè)置位置,對應(yīng)坐標值。dimension:設(shè)置方向,可選參數(shù)有'width'(橫向)'height'(縱向)。253圖表輔助參數(shù)設(shè)置——輔助矩形的設(shè)置輔助矩形是通過annotations中的BoxAnnotation進行調(diào)用的。BoxAnnotation常見參數(shù)如下:?left:設(shè)置位置,左邊界坐標值。?right:設(shè)置位置,右邊界坐標值。?top:設(shè)置位置,上邊界坐標值。?bottom:設(shè)置位置,下邊界坐標值。263圖表輔助參數(shù)設(shè)置——注釋文本的設(shè)置注釋文本是通過annotations中的Label進行調(diào)用的,需要注意是annotations中的Label模塊,而不是axis中的Label模塊。Label常見參數(shù)如下:x,y:注釋文本位置。text:注釋文本內(nèi)容。angel:注釋文本旋轉(zhuǎn)角度。273圖表輔助參數(shù)設(shè)置——注釋箭頭的設(shè)置注釋箭頭是通過annotation中的Arrow進行調(diào)用的。Arrow常見參數(shù)如下:x_start,y_start,x_end,y_end:箭頭矢量方向。start,end:arrow_head的實例。其中arrow_head中包含有三種常見的箭頭類型:'OpenHead'、'NormalHead'、'VeeHead'283圖表輔助參數(shù)設(shè)置——調(diào)色板的設(shè)置在Bokeh中,也有著類似seaborn中的調(diào)色板的存在,具體可參考官方文檔。調(diào)色板通過palettes進行調(diào)用。我們可以通過'palettes.__palettes__'查看所有的調(diào)色板。293圖表輔助參數(shù)設(shè)置——調(diào)色板的設(shè)置如果我們想調(diào)用某個調(diào)色板,還需要調(diào)用brewer對調(diào)色板進行解析,并選擇解析后的顏色數(shù)量??梢钥吹?,我們在這里使用了'Reds'這個調(diào)色板,并根據(jù)圓形的數(shù)量,將該調(diào)色板解析成三個顏色。303圖表輔助參數(shù)設(shè)置——調(diào)色板的設(shè)置我們還可以直接查看解析后的顏色有哪些:直接通過解析整個調(diào)色板,去查看對于該調(diào)色板最多可以使用多少個顏色。同樣以'Reds'這個調(diào)色板為例運行結(jié)果的含義是,對于'Reds'這個調(diào)色板而言,若解析成三個顏色,這三個顏色分別為'#de2d26'、'#fc9272'、'#fee0d2'。而對于第二段運行結(jié)果,我們可以看到,是由好幾個類似字典的結(jié)構(gòu)組成,其中左邊的數(shù)字,就是解析的顏色數(shù)量,右邊則為對應(yīng)的顏色??梢钥吹?,'Reds'這個調(diào)色板最多可以解析出256個顏色。31基本圖形繪制4.324基本圖形繪制在學(xué)習(xí)了這么多基本參數(shù)和輔助參數(shù)后,我們應(yīng)該對如何使用Bokeh有了大概的印象,接下來就開始學(xué)習(xí)繪制一些基本圖形。334基本圖形繪制——散點圖Bokeh中的散點圖,除了前面見過的circle,還有12種散點樣式。344基本圖形繪制——散點圖這些函數(shù)的參數(shù)大同小異,我們以diamond為例。diamond常見參數(shù)如下:x,y:離散點的x坐標和y坐標,列名或者列表。size:離散點的大小,默認值為4。angle:離散點旋轉(zhuǎn)角度,默認值為0.0。source:Bokeh專屬數(shù)據(jù)格式。354基本圖形繪制——散點圖如果我們想繪制不同顏色的散點圖,有以下兩種方法:專門設(shè)置一列顏色的數(shù)據(jù)364基本圖形繪制——散點圖2.遍歷數(shù)據(jù)分開做圖374基本圖形繪制——折線圖一條折線的折線圖繪制起來比較簡單,直接通過line就可以執(zhí)行。line的常見參數(shù)如下:x,y:x坐標和y坐標,列名或者列表。line_alpha:線條顏色的透明度。line_color:線條的顏色。line_dash:設(shè)置線條樣式,可選值有'solid'、'dashed'、'dotted'、'dotdash'、'dashdot'。單線圖我們還可以在這個折線圖的基礎(chǔ)上增加散點圖,突出每個坐標點的位置。384基本圖形繪制——折線圖多線圖如果我們想繪制有多條折線的折線圖,有以下兩種方式實現(xiàn)。(1)multi_line:在Bokeh中,專門有個函數(shù)multi_line可以用于繪制多條折線的折線圖,與line傳入的參數(shù)有所差異,multi_line傳入的x和y是多個列表。394基本圖形繪制——折線圖(2)

多個line:我們還可以在一個figure上繪制多個line,也可實現(xiàn)多條折線的效果。多線圖404基本圖形繪制——餅狀圖餅圖在Bokeh中通過函數(shù)wedge繪制餅狀圖。wedge常見參數(shù)如下:x,y:圓心的x軸坐標和y軸坐標。radius:圓的半徑。start_angle:起始角度。end_angle:終止角度。direction:起止方向,默認參數(shù)為'anticlock'(逆時針)。繪制的過程相對折線圖和散點圖復(fù)雜一點,我們需要先將各個類別的占比計算出來,才能繪制出餅狀圖414基本圖形繪制——餅狀圖環(huán)形圖如果我們想繪制環(huán)形圖,則需要調(diào)用annular_wedge。其常見參數(shù)如下:x,y:圓環(huán)圓心的x軸坐標和y軸坐標。inner_radius:內(nèi)環(huán)的半徑。outer_radius:外環(huán)的半徑。start_angle:起始角度。end_angle:終止角度。direction:起止方向,默認參數(shù)為'anticlock'(逆時針)424基本圖形繪制——面積圖一般面積圖對于一般面積圖而言,所有的數(shù)據(jù)都是從相同的零軸開始的。我們在這里可以運用之前介紹的注釋箭頭,以便理解面積圖的繪制過程。首先從點(1,6)出發(fā),再分別到點(2,7)、(3,2)、(2,2),最后回到點(1,6),并將該過程形成的區(qū)域用設(shè)定的color進行填充,完成面積圖的繪制。434基本圖形繪制——面積圖堆疊面積圖我們在了解到面積圖的繪制過程后,就可以利用一般面積圖來繪制層疊面積圖444基本圖形繪制——柱狀圖單系列柱狀圖——縱向柱形圖在Bokeh中,我們通過vbar繪制縱向柱形圖;通過hbar繪制橫向柱形圖。vbar常用參數(shù)如下:x:橫軸坐標。width:寬度。top:底高度。bottom:頂高度。454基本圖形繪制——柱狀圖單系列柱狀圖——橫向柱形圖hbar與vbar的常用參數(shù)十分類似,具體如下:y:縱軸坐標。height:厚度。left:左邊最小值。right:右邊最大值。464基本圖形繪制——柱狀圖多系列柱狀圖我們通常將柱形圖從類別的維度分為單系列柱形圖和多系列柱形圖,上述介紹的都是單系列柱形圖,我們還可以根據(jù)數(shù)據(jù)集繪制多系列柱形圖,并按顏色進行區(qū)分。474基本圖形繪制——柱狀圖我們還可以調(diào)用類似seaborn中的dodge參數(shù),對數(shù)據(jù)再進行分組多系列柱狀圖484基本圖形繪制——柱狀圖多系列柱狀圖——堆疊柱狀圖如果我們想繪制堆疊柱形圖,則需要調(diào)用vbar_stack或hbar_stack函數(shù)494基本圖形繪制——柱狀圖多系列柱狀圖——堆疊柱狀圖我們還可以對數(shù)據(jù)集中的數(shù)據(jù)進行加工,用于繪制百分比堆疊柱形圖,但是前期的數(shù)據(jù)處理工作可能會有一點麻煩。504基本圖形繪制——直方圖在Bokeh中,通過調(diào)用quad函數(shù)繪制直方圖,且傳入的參數(shù)是每個柱子的四邊值。514基本圖形繪制——矩形圖最后我們介紹一下矩形圖,不同于面積圖,矩形圖傳入的為每個矩形的幾何中心的坐標。常見的矩形圖有:square、square_cross、square_dot、square_pin和square_x。52圖表進階操作5.535圖表進階操作在學(xué)習(xí)了前面所講的很多基本操作后,我們就已經(jīng)可以通過排列組合繪制出非常多的圖形了,但對于一些復(fù)雜的圖形,可能需要更多地用到本章所講的進階操作。545圖表進階操作——ColumnDataSource在上述的繪圖過程中,我們用到了ColumnDataSource這個數(shù)據(jù)形式。ColumnDataSource是Bokeh中一種非常獨特且很實用的數(shù)據(jù)形式ColumnDataSource()方法有一個參數(shù)為'data'。'data'主要有以下三種類型:1.'data'為字典當'data'的表現(xiàn)形式是一個字典的形式時,一般情況下,字典的key值是一個字符串,代表列名稱,而value則是list形式或者numpy的array形式從上面結(jié)果來看,source是一個

ColumnDataSource對象,不能直接打印出來結(jié)果,但可以在繪圖時直接傳入?yún)?shù)進行使用。555圖表進階操作——ColumnDataSourceColumnDataSource的data參數(shù),也可以是pandas的DataFrame。當ColumnDataSource的參數(shù)是DataFrame時,可以直接用DataFrame的列名稱作為索引名稱,也可以直接用DataFrame已有的列名稱,如果沒有索引名稱,則索引名稱一般默認用‘index’。2.'data'為DataFrame565圖表進階操作——ColumnDataSourceColumnDataSource的data參數(shù),還也可以是pandas的DataFrame的groupby對象。當ColumnDataSource的參數(shù)是DataFrame的groupby對象時,在繪圖時使用的列名為groupby對象的groupby.describe()方法中的列名稱。由于groupby會有多個統(tǒng)計參數(shù),在引用時,列表會合并到一起,形式如column_mean等。3.'data'為DataFrame中的GroupBy對象這樣我們在繪圖時可以直接使用groupby.describe()方法中的列名稱575圖表進階操作——軸線的進階設(shè)置有時我們的數(shù)據(jù)集并不完全是數(shù)字類型,可能需要x軸是類別變量,可能x軸是時間序列,也可能y軸會是其他類型的數(shù)據(jù)。這時,就需要另外對軸線進行設(shè)置。585圖表進階操作——軸線的進階設(shè)置x軸的進階設(shè)置我們首先要對數(shù)據(jù)集本身格式進行修改當數(shù)據(jù)構(gòu)建好了后,再通過x_range設(shè)置橫軸標簽,就可以實現(xiàn)x軸標簽的字符串設(shè)置了595圖表進階操作——軸線的進階設(shè)置y軸的進階設(shè)置當一組數(shù)據(jù)的最大值最小值相差過大時,我們可以考慮使用對數(shù)法,那么如何在y軸中體現(xiàn)對數(shù)呢?可以通過修改y軸的axis_type,設(shè)置對數(shù)坐標軸605圖表進階操作——多圖表設(shè)置1.多次調(diào)用不同的Figure我們可以多次調(diào)用不同的Figure,將多個圖表顯示在一起。如果我們想在一個Figure上顯示多個圖表,有以下兩種方法:615圖表進階操作——多圖表設(shè)置2.調(diào)用gridplot模塊可能有細心的同學(xué)發(fā)現(xiàn),通過多個figure繪制出來的圖形,不能一起聯(lián)動,如果想要一起聯(lián)動的話,就需要調(diào)用gridplot模塊。62工具欄設(shè)置6.636工具欄設(shè)置與matplotlib和seaborn相比,Bokeh的工具欄是非常獨特的一個功能,我們可以利用工具欄移動圖形,篩選數(shù)據(jù),有著很多實用的功能。接下來我們就來學(xué)習(xí)一下Bokeh中工具欄的簡單使用。646工具欄設(shè)置——工具欄位置設(shè)置工具欄的位置參數(shù)通過toolbar_location參數(shù)進行控制,可選參數(shù)有'above'、'below'、'left'、'right',默認參數(shù)為'right'。如果我們設(shè)置工具欄位置為'above'時,可以增加設(shè)置toolbar_sticky參數(shù)為true,使得toolsbar不被遮擋656工具欄設(shè)置——工具欄功能設(shè)置常見的工具欄功能可以分為一下幾類:移動、放大縮小、保存、刷新、選擇、提示框和十字線,且在設(shè)定功能后,會默認激活所設(shè)置的第一個功能。666工具欄設(shè)置——工具欄功能設(shè)置移動移動功能又可分為全局移動、沿x軸移動和沿y軸移動三種。由此可見,我們在tool中設(shè)置的第一個功能為xpan,運行后該功能是

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論