數(shù)據(jù)可視化 課件 第4、5章 Seaborn的使用、Plotly數(shù)據(jù)可視化入門_第1頁
數(shù)據(jù)可視化 課件 第4、5章 Seaborn的使用、Plotly數(shù)據(jù)可視化入門_第2頁
數(shù)據(jù)可視化 課件 第4、5章 Seaborn的使用、Plotly數(shù)據(jù)可視化入門_第3頁
數(shù)據(jù)可視化 課件 第4、5章 Seaborn的使用、Plotly數(shù)據(jù)可視化入門_第4頁
數(shù)據(jù)可視化 課件 第4、5章 Seaborn的使用、Plotly數(shù)據(jù)可視化入門_第5頁
已閱讀5頁,還剩150頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1數(shù)據(jù)可視化第一章Matplotlib的基本使用第二章Matplotlib的進階使用第三章Seaborn的使用第四章目錄Contents…第五章緒論2第四章Seaborn的使用1引言基本設(shè)置2關(guān)聯(lián)圖34分類圖5分布圖6回歸圖7矩陣圖8網(wǎng)格圖3引言1.41引言Matplotlib雖然能繪制各具特色的圖,并具有非常好的擴展性,但它繪出的圖形從某種程度來說,會顯得比較單調(diào),在色彩的漸變上也比較單一。而Seaborn是基于Matplotlib的圖形可視化Python包。它提供了一種高度交互式界面,便于用戶制作各種有吸引力的統(tǒng)計圖表。它在Matplotlib的基礎(chǔ)上進行了更高級的API(ApplicationProgrammingInterface)封裝,從而使得作圖更加容易,在大多數(shù)情況下我們使用Seaborn能做出很具有吸引力的圖,比使用Matplotlib能制作具有更多特色的圖。我們可以把Seaborn視為Matplotlib的補充,而不是替代物。同時,它能高度兼容Numpy與Pandas數(shù)據(jù)結(jié)構(gòu)以及Scipy與Statsmodels等統(tǒng)計模型。51引言Seaborn的官網(wǎng)主頁向我們展示了實例,有著各種各樣的分類圖、線圖等。接下來讓我們由淺入深地學習Seaborn這個可視化工具。6基本設(shè)置2.72基本設(shè)置82基本設(shè)置——Seaborn的安裝Seaborn與Matplotlib的安裝大同小異,讀者只需將本書2.2節(jié)的安裝命令中的matplotlib替換為seaborn,即可完成安裝。例如,在Windows環(huán)境下,在cmd中直接輸入命令“pipinstallseaborn”就可以完成Seaborn的安裝。如果是使用Anaconda,在AnacondaPrompt中輸入“condainstallseaborn”也可以完成Seaborn的安裝。92基本設(shè)置——配置項設(shè)置在Seaborn中,通過seaborn.set()調(diào)整圖像的一些配置項,包括以下內(nèi)容:context:參數(shù)控制著默認的畫幅大小,可選參數(shù)有[paper,notebook,talk,poster]四個值。其中,畫幅大小依次為poster>talk>notebook>paper。style:參數(shù)控制默認樣式,可選參數(shù)有[darkgrid,whitegrid,dark,white,ticks]。palette:參數(shù)為預設(shè)的調(diào)色板,可選參數(shù)有[deep,muted,bright,pastel,dark,colorblind]。有關(guān)palette的具體設(shè)置,后續(xù)會詳細介紹。font:用于設(shè)置字體。font_scale:設(shè)置字體大小。color_codes:不使用調(diào)色板而采用Matplotlib中的如r等顏色縮寫。102基本設(shè)置——配置項設(shè)置如果想具體地對某一個配置項如context進行設(shè)置,可以通過sns.set_context()來配置112基本設(shè)置——配置項設(shè)置如果想知道context()當前的具體參數(shù)情況,可以通過sns.plotting_context()查看我們在上一個圖中設(shè)定了lines.linewidth=6.0,與此處顯示的一致。122基本設(shè)置——配置項設(shè)置我們還可以添加context參數(shù),查看另一個參數(shù)下的具體參數(shù)值分別是多少。例如,我們想了解當context=‘poster’時的具體參數(shù)值其中,lines.markersize為12,lines.linewidth為3132基本設(shè)置——實用功能我們在學習使用Seaborn繪圖的過程中,可能會因為數(shù)據(jù)而頭疼。Seaborn很好地為我們解決了數(shù)據(jù)的問題。Seaborn自帶了很多數(shù)據(jù)集,不過首次加載需要計算機處于聯(lián)網(wǎng)狀態(tài)。通過load_dataset(‘data_name’)加載后會得到DataFrame格式的數(shù)據(jù)。Seaborn包含的數(shù)據(jù)集如右圖所示,有非常著名的泰坦尼克號數(shù)據(jù)集、鳶尾花數(shù)據(jù)集等。我們可以充分利用這些數(shù)據(jù)集load_dataset()142基本設(shè)置——實用功能以tips數(shù)據(jù)集為例,我們可以制作一個柱形圖load_dataset()152基本設(shè)置——實用功能reset_defaults()/reset_orig()在對某一個特定的圖形修改了如context或style后,若后面的圖不想用修改后的參數(shù),可以直接利用sns.set()命令全部恢復默認值。但是如果只是修改了rc參數(shù),想要恢復rc參數(shù),其他的參數(shù)不變,用sns.set()就會顯得有點大材小用。Seaborn中通過reset_defaults()將所有rc參數(shù)恢復為默認設(shè)置;通過reset_orig()將所有rc參數(shù)恢復為原始設(shè)置。162基本設(shè)置——實用功能despine()在Matplotlib中,需要令坐標軸的顏色為none,以達到移去部分坐標軸的目的。而在Seaborn中,通過seaborn.despine()來控制坐標軸相關(guān)的操作。despine()參數(shù)如下:其中默認上方和右方為True,即不顯示。如果需要顯示,可以設(shè)置為False。Offset是坐標軸偏移的距離;而當刻度沒有完全覆蓋整個軸的范圍時,trim參數(shù)可以用來限制已有脊柱的范圍。172基本設(shè)置——調(diào)色板設(shè)置調(diào)色板可以說是Seaborn中非常重要且十分獨特的一個功能。雖然Matplotlib中的顏色選項可以滿足很多需求,但是想要更好地從顏色方面美化圖形,單一的顏色是遠遠不夠的。182基本設(shè)置——調(diào)色板設(shè)置分類調(diào)色板當不用區(qū)分離散數(shù)據(jù)的順序時,可以使用分類調(diào)色板。分類調(diào)色板通過color_palette()創(chuàng)建,是系統(tǒng)默認給出的顏色同時,分類調(diào)色板還有6種主題192基本設(shè)置——調(diào)色板設(shè)置以'muted'為例,設(shè)置方式如下所示分類調(diào)色板202基本設(shè)置——調(diào)色板設(shè)置圓形調(diào)色板當需要6種以上的顏色時,可以在圓形顏色空間中按均勻間隔畫出顏色,212基本設(shè)置——調(diào)色板設(shè)置圓形調(diào)色板還可以通過hls_palette()或husl_palette()來控制亮度和飽和度222基本設(shè)置——調(diào)色板設(shè)置ColorBrewer調(diào)色板ColorBrewer其實也是一個分類色板,它同樣存在于matplotlibcolormaps中,但是并沒有得到很好的處理。在Seaborn中,當調(diào)用ColorBrewer分類色板時,顏色會成對出現(xiàn),一淺一深232基本設(shè)置——調(diào)色板設(shè)置xkcd調(diào)色板xkcd包含了一系列命名RGB顏色,通過xkcd_rgb函數(shù)調(diào)用242基本設(shè)置——調(diào)色板設(shè)置漸變調(diào)色板當數(shù)據(jù)范圍從相對較低或不感興趣的值到相對較高或有趣的值時,就需要使用到漸變調(diào)色板,漸變調(diào)色板在利用kdeplot()和heatmap()函數(shù)繪制圖形時使用頻率較高可以在"Reds"后面添加"_r"使亮度反轉(zhuǎn),但不是所有的顏色都可以反轉(zhuǎn)。252基本設(shè)置——調(diào)色板設(shè)置cubehelix調(diào)色板cubehelix調(diào)色板是一個既能使亮度線性變化又能使色調(diào)變化的線性色板。其中參數(shù)含義如下:n_colors:顏色個數(shù)。start:值區(qū)間在[0,3],開始顏色。rot:float,顏色旋轉(zhuǎn)角度,值區(qū)間在(-1,1)。gamma:顏色伽馬值,大于1時較亮,小于1時較暗。dark,light:值區(qū)間在[0,1],表示顏色深淺。reverse:布爾值,默認為False,顏色由淺到深。262基本設(shè)置——調(diào)色板設(shè)置自定義漸變調(diào)色板自定義漸變調(diào)色板可以簡單地通過light_palette()或dark_palette()設(shè)定某種顏色還可以通過input參數(shù)選擇顏色模式,包括rgb、hls、husl、xkcd272基本設(shè)置——調(diào)色板設(shè)置選擇調(diào)色板我們可以通過choose_colorbrewer_palette()函數(shù)來選擇調(diào)色板。參數(shù)含義如下:sequential:順序,可以簡寫為s。diverging:發(fā)散,可以簡寫為d。qualitative:分類,可以簡寫為q。如果希望返回值是可以傳遞給seaborn或matplotlib函數(shù)的colormap對象,則可以將as_cmap參數(shù)設(shè)置為True。28關(guān)聯(lián)圖3.293關(guān)聯(lián)圖關(guān)聯(lián)圖是日常生活中非常常見的一個圖形種類,用來了解變量之間的相互關(guān)聯(lián),或探尋變量之間的相關(guān)關(guān)系等。303關(guān)聯(lián)圖——散點圖scatterplot()散點圖用點描繪了兩個變量甚至三個變量的分布,每個點代表著每個數(shù)據(jù)的觀察值,可以很直觀地看出變量之間是否存在一定的關(guān)系或者趨勢。在Seaborn中通過seaborn.scatterplot()創(chuàng)建散點圖。常用參數(shù)如下:x,y:數(shù)據(jù)中變量的名稱,可以是分類或數(shù)字。data:DataFrame,數(shù)據(jù)集。hue:data中的變量名稱,用于確定顏色的變量。style:data中的變量名稱,用于確定形狀的變量。sizes:列表,字典或元組,控制散點大小。markers:布爾型,列表或字典。ci:整型或'sd'orNone。與估算器聚合時繪制的置信區(qū)間的大小?!皊d”表示繪制數(shù)據(jù)的標準偏差。設(shè)置為None將跳過自舉。n_boot:整型。自舉法的數(shù)量,用于計算區(qū)間的置信度。通過hue、size、style參數(shù)分別添加第二、三、四個變量。不過變量過多會顯得圖形很混亂。313關(guān)聯(lián)圖——折線圖lineplot()散點圖只能得到一個大致的趨勢,如果想了解一個變量與連續(xù)變量的關(guān)系,則需要使用到折線圖。在Seaborn中通過seaborn.lineplot()創(chuàng)建折線圖。常用參數(shù)如下:x,y:data或向量數(shù)據(jù)中變量的名稱。hue:data中的變量名稱,用于確定點的顏色的變量。size:data中的變量名稱,用于確定點的大小的變量。style:data中的變量名稱,用于確定點的形狀的變量。palette:調(diào)色板名稱,列表或字典。用于hue變量的不同級別的顏色。dashes:布爾值,列表或字典。設(shè)置為True時將使用默認的短劃線,設(shè)置為False時將對所有子集使用實線。sort:布爾值,如果為True,則數(shù)據(jù)將按x與y變量排序,否則將按照它們在數(shù)據(jù)集中出現(xiàn)的順序連接點。err_style:取值band或bars,表示用半透明誤差帶或離散誤差棒繪制置信區(qū)間。err_band:關(guān)鍵字參數(shù)字典。用于控制誤差線美觀的附加參數(shù)。還可以將誤差帶修改成誤差棒,并修改置信區(qū)間大小323關(guān)聯(lián)圖——子圖

relplot()relplot()函數(shù)是基于FacetGrid類(后續(xù)會詳細介紹FacetGrid),并能夠通過修改kind參數(shù)繪制散點圖和折線圖的一個關(guān)聯(lián)圖函數(shù),通過col和row參數(shù)控制行和列顯示的內(nèi)容。常用參數(shù)如下:x,y:data中的變量名。hue:data中的變量名稱,用于確定點的顏色的變量。size:data中的變量名稱,用于確定點的大小的變量。style:data中的變量名稱,用于確定點的形狀的變量。row,col:data中的變量名,用于確定分面的變量。row_order,col_order:設(shè)置col和row中的順序。kind:string,繪制圖的類型,與seaborn相關(guān)的圖一致。height:每個facet的高度(英寸),默認為5。aspect:標量,每個facet的長寬比,默認為1。通過height和aspect修改圖像的高和寬33分類圖4.344分類圖當變量中存在分類變量的時候,通常會選用分類圖形展示數(shù)據(jù)。在Seaborn中,分類圖主要分為三類:分類散點圖、分類分布圖和分類估計圖。354分類圖——分類散點圖分類散點圖,也就是將分類變量的每個觀測結(jié)果都展示出來,可以通過stripplot()和swarmplot()函數(shù)繪制。stripplot()stripplot()函數(shù)語法如下364分類圖——分類散點圖stripplot()常用參數(shù)和上一節(jié)的函數(shù)類似,其他參數(shù)含義如下:jitter:float,True或1。要應(yīng)用的抖動量(僅沿分類軸)。當有許多點并且它們重疊時,可以指定抖動量(均勻隨機變量支持的寬度的一半)使得更容易看到分布,或者僅使用True作為良好的默認值。dodge:bool。使用hue嵌套時,將其設(shè)置為True則沿著分類軸分離不同色調(diào)級別的條帶。否則,每個級別的點將相互疊加。orient:可選參數(shù)有[v,h]。圖的方向(垂直或水平)。374分類圖——分類散點圖通過dodge可以將兩個變量分離開,并改為橫向的(需要先將x和y的值對換)stripplot()384分類圖——分類散點圖swarmplot()swarmplot()函數(shù)與stripplot()函數(shù)的參數(shù)和功能基本一致,唯一不同的是,swarmplot()函數(shù)是沿著分類軸調(diào)整點,進而使點不重疊,但是不能應(yīng)用于大量數(shù)據(jù).394分類圖——分類分布圖分類分布圖可以通過boxplot()/boxenplot()和violinplot()函數(shù)繪制。箱線圖

boxplot()/boxenplot()箱線圖的統(tǒng)計學含義見第2章的內(nèi)容,這里主要講Seaborn中的繪制方法。boxplot()函數(shù)語法如下:常用參數(shù)和上一節(jié)的函數(shù)類似,其他參數(shù)含義如下:saturation:float??刂朴糜诶L制顏色的原始飽和度的比例。width:float。不使用色調(diào)嵌套時完整元素的寬度,或主要分組變量一個級別的所有元素的寬度。fliersize:float。用于表示異常值觀察的標記的大小。whis:float??刂圃诔^高低四分位數(shù)時IQR的比例。notch:boolean。是否使矩形框“凹陷”以指示中位數(shù)的置信區(qū)間。linewidth:float。構(gòu)圖元素的灰線寬度。404分類圖——分類分布圖箱線圖

boxplot()/boxenplot()通過設(shè)置參數(shù)orient='h',可以繪制橫向的箱線圖414分類圖——分類分布圖箱線圖

boxplot()/boxenplot()boxenplot()用于為更大的數(shù)據(jù)集繪制增強的箱線圖。這種風格的繪圖最初被命名為“信值圖”,因為它顯示了大量被定義為“置信區(qū)間”的分位數(shù)。它類似于繪制分布的非參數(shù)表示的箱線圖,其中所有特征對應(yīng)于實際觀察的數(shù)值點。通過繪制更多分位數(shù),它提供了有關(guān)分布形狀的更多信息,特別是尾部數(shù)據(jù)的分布。boxenplot()函數(shù)語法如下常用參數(shù)和上一節(jié)的函數(shù)類似,其他參數(shù)含義如下:k_depth:可選參數(shù)[proportion,tukey,trustworthy]。表示不同的箱盒數(shù)量被擴展的比例。scale:可選參數(shù)[linear,exponential,area]。表示顯示箱盒寬度的方法。linear是通過恒定的線性因子減小寬度,exponential是使用未覆蓋的數(shù)據(jù)的比例調(diào)整寬度,area與所覆蓋的數(shù)據(jù)的百分比成比例。424分類圖——分類分布圖箱線圖

boxplot()/boxenplot()434分類圖——分類分布圖小提琴圖

violinplot()小提琴圖是箱線圖與核密度圖的結(jié)合,箱線圖展示了分位數(shù)的位置,核密度圖則展示了任意位置的密度,通過小提琴圖可以知道哪些位置的數(shù)據(jù)點聚集的較多,因其形似小提琴而得名。小提琴圖中間的黑色粗條表示四分位數(shù)范圍,從其延伸的細黑線代表95%置信區(qū)間,而白點則為中位數(shù)。小提琴圖受樣本量影響較大,對于較小樣本量,展現(xiàn)效果不是很好。444分類圖——分類分布圖violinplot()函數(shù)語法如下:小提琴圖

violinplot()常用參數(shù)和上一節(jié)的函數(shù)類似,其他參數(shù)含義如下:bw:float。可選參數(shù)有[scott,silverman]。內(nèi)置變量值或浮點數(shù)的比例因子,都用來計算核密度的帶寬。實際的核大小由比例因子乘以每個分箱內(nèi)數(shù)據(jù)的標準差確定。cut:float。以帶寬大小為單位的距離,以控制小提琴圖外殼延伸超過內(nèi)部極端數(shù)據(jù)點的密度。設(shè)置為0以將小提琴圖范圍限制在觀察數(shù)據(jù)的范圍內(nèi)。scale:可選參數(shù)有[area,count,width]。該方法用于縮放每張小提琴圖的寬度。若為area,每張小提琴圖具有相同的面積。若為count,小提琴圖的寬度會根據(jù)分箱中觀察點的數(shù)量進行縮放。若為width,每張小提琴圖具有相同的寬度。gridsize:int。用于計算核密度估計的離散網(wǎng)格中的數(shù)據(jù)點數(shù)目。width:float。表示不使用色調(diào)嵌套時的完整元素的寬度,或主要分組變量的一個級別的所有元素的寬度。inner:可選參數(shù)有[box,quartile,point,stick,None]??刂菩√崆賵D內(nèi)部數(shù)據(jù)點的表示。若為box,則繪制一個微型箱線圖。若為quartiles,則顯示四分位數(shù)線。若為point或stick,則顯示具體數(shù)據(jù)點或數(shù)據(jù)線。使用None則繪制不加修飾的小提琴圖。split:bool。當使用帶有兩種顏色的變量時,將split設(shè)置為True會為每種顏色繪制對應(yīng)半邊小提琴,從而可以更直接地比較不同的分布。454分類圖——分類分布圖小提琴圖

violinplot()當需要對比某個分類變量的兩種取值時,通過split參數(shù)可以使對比更清晰464分類圖——分類估計圖分類估計圖可以通過countplot()、barplot()和pointplot()函數(shù)繪制。分類計數(shù)圖

countplot()當條形圖只需要用來顯示每個類別的數(shù)量,而不需要計算第2個變量的統(tǒng)計量時,可以使用countplot()。它和barplot()存在一定的區(qū)別,countplot()函數(shù)不能同時輸入x與y,只能分開輸入。countplot()函數(shù)語法如下474分類圖——分類估計圖估計置信區(qū)間

barplot()在Seaborn中,通過barplot()函數(shù)繪制柱形圖。barplot()函數(shù)語法如下:常用參數(shù)和上一節(jié)的函數(shù)類似,其他參數(shù)含義如下:n_boot:int。計算置信區(qū)間需要的Boostrap迭代次數(shù)。errcolor:表示置信區(qū)間的線的顏色。errwidth:誤差條的線的寬度。capsize:float。誤差條兩端的寬度。484分類圖——分類估計圖估計置信區(qū)間

barplot()還可以調(diào)用Matplotlib中bar()函數(shù)中的參數(shù),進行更多的設(shè)置494分類圖——分類估計圖點圖

pointplot()點圖用來繪制關(guān)于數(shù)值變量的中心趨勢的估計,此處的中心趨勢一般是指平均值,并可以使用誤差線提供關(guān)于該估計的不確定性的一些指示。點圖可能比條形圖更有利于聚焦一個或多個分類變量的不同級別之間的比較。點圖僅顯示對應(yīng)統(tǒng)計量,但是有時顯示每個級別的值的分布更加有用,在這種情況下,其他繪圖方法,例如箱線圖或小提琴圖可能更合適。504分類圖——分類估計圖點圖

pointplot()在Seaborn中通過pointplot()創(chuàng)建點圖,參數(shù)如下:常用參數(shù)和上一節(jié)的函數(shù)類似,其他參數(shù)含義如下:scale:float。繪圖元素的比例因子。join:bool型。如果為True,則在hue級別相同的點估計值之間繪制線條。514分類圖——分類估計圖點圖

pointplot()524分類圖——分類型數(shù)據(jù)繪圖類似于之前提到的relplot()函數(shù),用分類型數(shù)據(jù)(CategoricalData)繪圖的catplot()函數(shù)也是基于FacetGrid類開發(fā)的,可以對所有的分類圖函數(shù)統(tǒng)一訪問。catplot()函數(shù)語法如下:常用參數(shù)和上一節(jié)的函數(shù)類似,其他參數(shù)含義如下:legend_out:bool。如果為True,則圖形尺寸將被擴展,圖例將繪制在中間右側(cè)的圖形之外。share{x,y}:bool??蛇x參數(shù)有[col,row]。如果為True,則facet將跨行跨越列和/或x軸共享y軸。margin_titles:bool。如果為True,則行變量的標題將繪制在最后一列的右側(cè)。534分類圖——分類型數(shù)據(jù)繪圖54分布圖5.555分布圖在seaborn中,分布圖分為兩類:單變量分布圖和雙變量分布圖。565分布圖——單變量分布圖kdeplot()核密度估計在概率論中用來估計未知的密度函數(shù),屬于非參數(shù)檢驗方法之一。我們通過核密度估計圖可以比較直觀地看出數(shù)據(jù)樣本本身的分布特征。kdeplot()函數(shù)語法如下:575分布圖——單變量分布圖kdeplot()常見參數(shù)含義如下:data:一維陣列。第一輸入數(shù)據(jù)。data2:一維陣列。第二輸入數(shù)據(jù)。如果存在,將估計雙變量kdeplot()。shade:布爾值。如果為True,則在KDE曲線下方的區(qū)域中增加陰影。vertical:布爾值。如果為True,密度圖將顯示在x軸。kernel:可選參數(shù)有[gau,cos,biw,epa,tri,triw]。要擬合的核的形狀,雙變量只能使用高斯核gau。bw:可選參數(shù)有[scott,silverman,scalar,pairofscalars]。用于確定雙變量圖的每個維的核大小、標量因子或標量的參考方法的名稱。gridsize:評估網(wǎng)格中的離散點數(shù)。cut:標量。繪制估計值以從極端數(shù)據(jù)點切割*bw。clip:一對標量。用于擬合kde圖的數(shù)據(jù)點的上下限值。cumulative:布爾值。如果為True,則繪制kde估計圖的累積分布。shade_lowest:布爾值。如果為True,則屏蔽雙變量kde圖的最低輪廓。cbar:布爾值。如果為True,則繪制雙變量kde圖,為繪制的圖像添加顏色條。585分布圖——單變量分布圖kdeplot()還可以繪制兩個變量的陰影核密度圖,并添加顏色漸變條595分布圖——單變量分布圖distplot()distplot()用來繪制直方圖,又稱質(zhì)量分布圖,它是表示連續(xù)數(shù)據(jù)變化情況的一種主要工具。用直方圖可以解析出數(shù)據(jù)的規(guī)則性,比較直觀地看出產(chǎn)品質(zhì)量特性的分布狀態(tài),對于數(shù)據(jù)分布狀況一目了然,便于判斷其總體質(zhì)量分布情況。displot()集合了Matplotlib的hist()與核函數(shù)估計kdeplot的功能,增加了rugplot分布觀測條顯示與利用scipy庫fit擬合參數(shù)分布的新穎用途。distplot()函數(shù)語法如下:605分布圖——單變量分布圖distplot()常見參數(shù)含義如下:bins:同Matplotlib中hist()的參數(shù),或None。直方圖bins(柱)的數(shù)目,若填None,則默認使用Freedman-Diaconis規(guī)則指定柱的數(shù)目。hist:布爾值。是否繪制(標準化)直方圖。kde:布爾值。是否繪制高斯核密度估計圖。rug:布爾值。是否在橫軸上繪制觀測值豎線。vertical:布爾值。如果為True,則觀測值在y軸顯示。norm_hist:布爾值。如果為True,則直方圖的高度顯示密度而不是計數(shù)。axlabel:橫軸的名稱。{hist,kde,rug,fit}_kws:字典。底層繪圖函數(shù)的關(guān)鍵字參數(shù)。615分布圖——單變量分布圖distplot()還可以具體分別設(shè)置hist、kde和rug的參數(shù)625分布圖——雙變量分布圖pairplot()pairplot()函數(shù)會同時繪制數(shù)據(jù)中所有特征兩兩之間的關(guān)系圖。pairplot()建立在PairGrid類(后續(xù)會介紹)之上,默認對角線為histgram,非對角線為kdeplot。pairplot()函數(shù)語法如下:相關(guān)設(shè)置參數(shù)含義如下:kind:可選參數(shù)有[scatter,reg]。除對角線外的圖形類型,默認為scatter。diag_kind:可選參數(shù)有[auto,hist,kde]。對角線上的圖形類型,默認為auto。dropna:布爾值。在繪圖之前刪除數(shù)據(jù)中的缺失值。{plot,diag,grid}_kws:字典。關(guān)鍵字參數(shù)的字典。635分布圖——雙變量分布圖pairplot()645分布圖——雙變量分布圖jointplot()jointplot()是基于JointGrid類,本質(zhì)實際上就是散點圖和分布圖的結(jié)合。jointplot()函數(shù)語法如下:相關(guān)設(shè)置參數(shù)含義如下:kind:可選參數(shù)有[scatter,reg,resid,kde,hex]。繪制圖形的類型。ratio:數(shù)值型。中心軸的高度與側(cè)邊軸高度的比例。space:數(shù)值型。中心軸和側(cè)邊軸的間隔大小。{x,y}lim:雙元組。繪制前設(shè)置軸的范圍。{joint,marginal,annot}_kws:字典。額外的關(guān)鍵字參數(shù)。655分布圖——雙變量分布圖jointplot()665分布圖——雙變量分布圖rugplot()rugplot()的功能非常樸素,用于繪制一維數(shù)組中數(shù)據(jù)點實際的分布位置情況,即不添加任何數(shù)學意義上的擬合,單純地將記錄值在坐標軸上表現(xiàn)出來rugplot()函數(shù)語法如下:675分布圖——雙變量分布圖rugplot()68回歸圖6.696回歸圖Seaborn中的回歸圖可以通過regplot()、lmplot()和residplot()三種函數(shù)繪制。其中regplot()和lmplot()兩個函數(shù)共享了大部分核心的功能,只有小部分存在不同。一般情況下,兩個函數(shù)沒有很大的區(qū)別。regplot()和residplot()兩個函數(shù)的區(qū)別在于,regplot()用線性回歸模型對數(shù)據(jù)進行擬合,而residplot()展示線性回歸模型擬合后各點對應(yīng)的殘值。706回歸圖——regplot()regplot()函數(shù)可以繪制數(shù)據(jù)并擬合回歸直線,語法如下:716回歸圖——regplot()常用設(shè)置參數(shù)含義如下:scatter:布爾值。如果為True,則繪制帶有基礎(chǔ)觀測值(或x_estimator值)的散點圖。fit_reg:布爾值。如果為True,則估計并繪制與x和y變量相關(guān)的回歸模型。x_estimator:標量。將此函數(shù)應(yīng)用于x的每個唯一值,并繪制結(jié)果的估計值。當x是離散變量時,這是十分有用的。如果后面給出參數(shù)x_ci的值,則該估計將繪制置信區(qū)間。x_bins:整數(shù)或向量。將x變量加入離散區(qū)間,然后估計中心趨勢和置信區(qū)間。x_ci:”ci”,’sd’,位于[0,100]的整數(shù)或None。繪制x離散值的集中趨勢時使用的置信區(qū)間的大小。logistic:布爾值。如果為True,則假設(shè)y是二元變量并使用statsmodels來估計邏輯回歸模型。lowess:布爾值。如果為True,則使用statsmodels來估計非參數(shù)局部加權(quán)線性回歸模型。robust:布爾值。如果為True,則使用statsmodels來估計穩(wěn)健回歸。logx:布爾值。如果為True,則估計形式y(tǒng)~log(x)的線性回歸,但在輸入空間中繪制散點圖和回歸模型。{scatter,line}_kws:字典。傳遞給plt.scatter和plt.plot的附加關(guān)鍵字參數(shù)。726回歸圖——regplot()736回歸圖——lmport()lmplot()同樣用于繪制回歸圖,區(qū)別在于lmplot()支持引入第三維度進行對比,lmplot()函數(shù)語法如下對比regplot(),可以看出,lmplot()函數(shù)很多參數(shù)都與regplot()一致。但是lmplot()輸入數(shù)據(jù)只能是數(shù)據(jù)的特征名,且lmplot()可以和FacetGrid()結(jié)合使用。746回歸圖——lmport()756回歸圖——residplot()residplot()函數(shù)用于繪制回歸模型殘差的散點圖76矩陣圖7.777矩陣圖矩陣圖可以通過heatmap()和clustermap()兩種函數(shù)繪制。787矩陣圖——heatmap()heatmap()用于繪制熱力圖,是用顏色矩陣顯示數(shù)據(jù)在兩個維度下的度量值。heatmap()函數(shù)語法如下:797矩陣圖——heatmap()常見參數(shù)含義如下:data:矩形數(shù)據(jù)集。可以強制轉(zhuǎn)換為二維ndarray格式數(shù)據(jù)集。center:浮點型。繪制有色數(shù)據(jù)時將色彩映射居中的值。vmin,vmax:浮點型。用于錨定色彩映射的值。robust:布爾值。如果是True,并且vmin或vmax為空,則使用穩(wěn)健分位數(shù)而不是極值來計算色彩映射范圍。annot:布爾值或者矩形數(shù)據(jù)。如果為True,則在每個熱力圖單元格中寫入數(shù)據(jù)值。fmt:字符串。添加注釋時要使用的字符串格式。annot_kws:字典或者鍵值對。當annot為True時,ax.text的關(guān)鍵字參數(shù)。linewidths:浮點數(shù)。劃分每個單元格的行的寬度。linecolor:顏色。劃分每個單元的線條的顏色。cbar:布爾值。是否繪制顏色條。mask:布爾數(shù)組或者DataFrame數(shù)據(jù)。如果為空值,數(shù)據(jù)將不會顯示在mask為True的單元格中。具有缺失值的單元格將自動被屏蔽。square:布爾值。如果為True,則將坐標軸方向設(shè)置為“equal”,以使每個單元格為方形。807矩陣圖——heatmap()817矩陣圖——clustermap()clustermap()可以將矩陣數(shù)據(jù)集繪制為層次聚類熱圖。clustermap()函數(shù)語法如下:常見的配置參數(shù)含義如下。pivot_kws:字典。如果數(shù)據(jù)是整齊的數(shù)據(jù)框架,可以為pivot提供關(guān)鍵字參數(shù)以創(chuàng)建矩形數(shù)據(jù)框架。method:字符串。用于計算聚類的鏈接方法。metric:字符串。用于數(shù)據(jù)的距離度量。z_score:int或None。0(行)或1(列)。是否計算行或列的z分數(shù)。standard_scale:int或None。0(行)或1(列)。是否標準化該維度。827矩陣圖——clustermap()下面以iris數(shù)據(jù)集為例,先去掉目標列,再進行聚類83網(wǎng)格圖8.848網(wǎng)格圖之前在分類圖、分布圖中提到的FacetGrid、PairGrid以及JointGrid,均屬于網(wǎng)格圖的一種。接下來就詳細的講述下網(wǎng)格圖這個類別。858網(wǎng)格圖——FacetGrid當想要可視化多個變量之間的關(guān)系時,F(xiàn)acetGrid會非常實用。FacetGrid類語法如下:常見的配置參數(shù)含義如下:row,col,hue:字符串。定義數(shù)據(jù)子集的變量,這些變量將在網(wǎng)格的不同方面繪制。col_wrap:整型。以此參數(shù)值來限制網(wǎng)格的列維度,以便列面跨越多行。share{x,y}:布爾值,'col'或'row'。如果為True,則跨列共享y軸或者跨行共享x軸。868網(wǎng)格圖——FacetGridFacetGrid類有以下常見方法:add_legend([legend_data,title,label_order]):繪制一個圖例,可能將其放在軸外并調(diào)整圖形大小。despine(**kwargs):從子圖中移除軸的邊緣框架。facet_axis(row_i,col_j):使這些索引識別的軸處于活動狀態(tài)并返回。facet_data():用于每個子圖的名稱索引和數(shù)據(jù)子集的生成器。map(func,args,*kwargs):將繪圖功能應(yīng)用于每個子圖的數(shù)據(jù)子集。map_dataframe(func,args,*kwargs):像map一樣,但是將args作為字符串傳遞并在kwargs中插入數(shù)據(jù)。savefig(args,*kwargs):保存圖片。set(**kwargs):在每個子圖集坐標軸上設(shè)置屬性。set_axis_labels([x_var,y_var]):在網(wǎng)格的左列和底行設(shè)置軸標簽。set_titles([template,row_template,…]):在每個子圖上方或網(wǎng)格邊緣繪制標題。set_xlabels([label]):在網(wǎng)格的底行標記x軸。set_xticklabels([labels,step]):在網(wǎng)格的底行設(shè)置x軸刻度標簽。set_ylabels([label]):在網(wǎng)格的左列標記y軸。set_yticklabels([labels]):在網(wǎng)格的左列上設(shè)置y軸刻度標簽。878網(wǎng)格圖——FacetGrid用FacetGrid類繪圖的基本思路是:1.用FacetGrid畫出輪廓圖(即圖形的橫縱比等);2.用map填充內(nèi)容。888網(wǎng)格圖——PairGridPairGrid用于繪制數(shù)據(jù)集中成對關(guān)系的子圖網(wǎng)格。該類將數(shù)據(jù)集中的每個變量映射到多個軸的網(wǎng)格中的列和行??梢允褂貌煌妮S級繪圖函數(shù)來繪制上三角區(qū)域和下三角區(qū)域的雙變量圖,并且對角線上可以顯示每個變量的邊際分布。PairGrid類語法如下:898網(wǎng)格圖——PairGrid它和FacetGrid繪圖的思路大體一致:1.用PairGrid繪制輪廓圖;2.用map_diag繪制對角線上的圖形;3.用map_offdiag繪制非對角線上的圖形。908網(wǎng)格圖——JointGridJointGrid用于繪制具有邊際單變量圖的雙變量圖的網(wǎng)格。JointGrid類語法如下:918網(wǎng)格圖——JointGrid它與前兩個類的繪圖思路一致:1.用JointGrid繪制輪廓;2.通過plot_joint繪制中央的圖形;3.通過plt_marginals繪制上方和右方圖形9293數(shù)據(jù)可視化第一章python第三方庫-plotly12345plotly概述繪圖實例繪圖基礎(chǔ)知識表格坐標軸與多子圖6本章小結(jié)94plotly概述1.951plotly概述plotly是Python圖形庫可生成交互式的,具有出版物質(zhì)量的圖形的第三方庫,其中涉及有關(guān)如何制作折線圖,散點圖,面積圖,條形圖,誤差線,箱形圖,直方圖,熱圖,子圖,多軸圖,極坐標圖和氣泡圖等多種圖表。主要應(yīng)用于量化分析,還可以嵌入到網(wǎng)頁以及開發(fā)GUI,用途比較廣泛。/961plotly概述氣泡圖971plotly概述3D散點圖981plotly概述漏斗圖991plotly概述plotly兩種繪圖方式:(1)在線繪圖:繪圖和數(shù)據(jù)都保存在自己的云賬戶,它主要通過plotly提供的方法在自己的賬戶中創(chuàng)建一個網(wǎng)址來存儲繪圖結(jié)果。這種方法更利于保存一些重要的圖表,但在線繪圖的速度比較慢,原因是因為plotly的服務(wù)器在國外,請求響應(yīng)的比較慢。在線繪圖也有幾種類型:公有,私有,秘密三種,三種也有不同特點。1.公有:向所有人開放你這個圖表相關(guān)信息。2.私有:不對外開放,只允許自己查看,需要登錄。3.秘密:擁有這個鏈接的都可以查看這些圖表。(2)離線繪圖:plotly提供一種在沒有網(wǎng)絡(luò)情況下繪圖,將圖像保存在本地,這種方式也是一個最常用的方式,繪圖速度比在線繪圖的快很多,本章所有的繪圖的也是參照這種方式來實現(xiàn)的。1001引言圖表類型介紹基本圖表:20種統(tǒng)計和海運方式圖:12種;科學圖表:21種;財務(wù)圖表:2種;地圖:8種;3D圖表:19種;擬合工具:3種;流動圖表:4種1011plotly概述安裝與安裝環(huán)境:打開cmd命令行窗口,輸入以下內(nèi)容:pipinstallplotly==4.4.1同時也要裝相關(guān)的chart_studio包輸入命令:pipinstallchart_studio1021plotly概述API信息獲?。簆lotly提供了一個在線托管繪圖結(jié)果的web服務(wù)平臺,用戶在plotly官網(wǎng)注冊一個賬號,用來托管需要保存的繪圖結(jié)果,登錄自己的賬戶,在設(shè)置中找到APIKey選項。然后將其的Username和APIkey記錄下來,作為以后繪圖的憑證。103繪圖實例2.1042繪圖實例在線繪圖在線繪圖首選需要配置憑證信息,就是上面的Username和APIKey,首先配置好這個,才能實現(xiàn)在線繪圖。執(zhí)行下面命令用戶目錄下創(chuàng)建一個文件.plotly/.credentials創(chuàng)建的文件內(nèi)容如下:{"username":,"stream_ids":["ylosqsyet5","h2ct8btk1s","oxz4fm883b"],"api_key":"M6yMd75ciV8VFxSNpkzk"}1052繪圖實例在線繪圖下面正式開始在線繪圖,在線繪圖有兩種方法:py.plot()和py.iplot().這兩個方法的作用都是在自己的賬戶中新建一個網(wǎng)址并存儲結(jié)果,但唯一不同的是。py.plot()是返回一個網(wǎng)址,默認自動打開這個網(wǎng)址,而py.iplot()是以嵌入的形式在jupyter中顯示出來。1062安裝方法在線繪圖運行上面的代碼得到這個運行結(jié)果,發(fā)現(xiàn)在線繪制時間長,相對其他繪圖相比,在線繪圖的唯一特點的是同步到對應(yīng)賬號上存儲,通過一個網(wǎng)址的形式進行存儲。1072繪圖實例離線繪圖離線繪制圖像主要有兩種方法,一個是plotly.offline.iplot(),它會在jupyternotebook中直接繪圖,不需要新建一個HTML文件,另一個是plotly.offline.plot(),這個函會在本地新建一個HTML文件。本節(jié)還是通過一個例子來離線繪圖。1082繪圖實例離線繪圖對比離線繪圖和在線繪圖,其實兩者區(qū)別不是很大,各有各的特點,在線繪圖相對其他繪圖而言,它具有的優(yōu)勢是可以將繪制的圖表保存在自己的賬戶中。但它的繪制速度很慢。而離線繪圖可以在沒有網(wǎng)絡(luò)的條件下繪制圖表,并保存在本地。109繪圖基礎(chǔ)知識3.1103繪圖基礎(chǔ)知識基本繪圖流程在plotly中繪制圖表中,首先需要定義要存儲繪制數(shù)據(jù)的變量,一般稱plotly中繪圖對象為一個軌跡、畫軌、畫痕。繪圖流程:1.定義軌跡,繪制圖形2.定義畫面布局3.復合圖形,集成圖形,布局數(shù)據(jù)4.輸出繪制圖形。1113繪圖基礎(chǔ)知識大部分的plotly繪制圖形可以參考上面那個流程,以一個示例為例,帶大家熟悉繪圖流程。1123繪圖基礎(chǔ)知識1133繪圖基礎(chǔ)知識1143繪圖基礎(chǔ)知識對于plotly一些基礎(chǔ)圖形而言,一些基本設(shè)置是相同的,拿plotly.offline.iplot()來說,他們是繪制圖形的主函數(shù)。它們其中一些參數(shù)也是整個全局的設(shè)置,我們可以拿offline.iplot()作為一個示例,來查看這些參數(shù),從而來研究一些其他函數(shù)。如果我們對這個函數(shù)不是特別了解,可以help()一下。1153繪圖基礎(chǔ)知識offline.iplot()常用的參數(shù)一般是這幾個:figure_or_data:這個參數(shù)是代表輸入的數(shù)據(jù)可能直接是簡單的字典,也可能是復合的字典(嵌套式)。show_link:默認為True,顯示右下角的鏈接。link_text:右下角顯示的文字,默認為Exporttoplotly.lyvalidate:默認為True,確保所有的關(guān)鍵字都是有限的filename:設(shè)置繪圖存儲文件的路徑image='',str,圖片的類型'None','png','jpeg','svg','webp'image_height=600,數(shù)值,圖片的高度image_width=800,數(shù)值,圖片的寬度1163繪圖基礎(chǔ)知識輸出圖像設(shè)置:下面給出一個具體的實例。1173繪圖基礎(chǔ)知識線圖軌跡基本設(shè)置在plotly中最基本圖形就是曲線圖,而在plotly中的線性圖是線性圖和散點圖結(jié)合的方式,而我們常用的也是go.scatter函數(shù)。這一塊包括我們所要在圖像中畫出的軌跡的顏色等一些基本參數(shù)設(shè)置,這一塊只通過一個簡單例子來介紹一下。1183繪圖基礎(chǔ)知識1193繪圖基礎(chǔ)知識畫圖基本布局設(shè)置:一般情況下默認的圖像布局效果是很好的,但有的時候希望圖像的顯示效果滿足我們的需要,所以這個時候需要layout這個類來設(shè)置相關(guān)的的信息。大家也可以在自己的電腦上用help()指令查看一下具體的參數(shù)信息,這里就不浪費篇幅展示help()命令的結(jié)果。本小節(jié)直接講解有哪些設(shè)置,layout如何來設(shè)置畫面布局。一般圖像的內(nèi)容分為五大塊:標題,坐標軸,注釋,圖例,圖像,每五大塊單獨有各自的詳細設(shè)置,本小節(jié)也只從前四塊出發(fā),不考慮圖像這一塊。1203繪圖基礎(chǔ)知識為了方便后面操作,本小節(jié)固定前面軌跡,簡化代碼。1213繪圖基礎(chǔ)知識1223繪圖基礎(chǔ)知識畫圖基本布局設(shè)置:首先介紹一下畫面總體設(shè)置:包括主標題,圖像背景顏色,圖片背景顏色以及圖像的寬度,圖像的高度以及設(shè)置圖離圖像四周的邊距。title:圖像的主標題(可以單獨賦值使用)但title又有多個個參數(shù),用字典形式賦值,但常用的一般有這幾個:font,pad,text,font代表的是字體大小顏色等參數(shù),text是標題的內(nèi)容,pad是標題距離上下左右的距離,具體賦值也是字典形式,這些具體應(yīng)用,本節(jié)以一個實例教會大家使用。plot_bgcolor:圖的背景顏色,paper_bgcolor:圖像的背景顏色autosize=False,width=1450,height=800,#設(shè)置圖像的大小,autosize是否自動調(diào)節(jié)圖像大小默認為TrueMargin:設(shè)置圖離圖像四周的邊距,pad參數(shù)是刻度與標簽的距離顏色可以用16進制表示,也可以用英文名還可以用RGB三元色來表示。1233繪圖基礎(chǔ)知識畫面總體設(shè)置1243繪圖基礎(chǔ)知識坐標軸設(shè)置:分別有x軸設(shè)置和y軸設(shè)置,兩個大致相同類似,這里只介紹一下x軸參數(shù)設(shè)置,x軸設(shè)置用layout中的xaxis字典來設(shè)置,參數(shù)很多,這里不一一介紹,介紹一些常用的,一般有這幾個:tickangle,autorange,range。title:x軸的標簽名titlefont:x軸的字體大小顏色等tickfont:x軸刻度的字體大小,顏色等tickangle:設(shè)置刻度旋轉(zhuǎn)的角度showticklabels:#設(shè)置是否顯示坐標軸zeroline:是否顯示x軸的零刻度線autorange:true或者false,是否自動調(diào)節(jié)刻度,默認為Truerange:x軸的刻度范圍1253繪圖基礎(chǔ)知識坐標軸設(shè)置11263繪圖基礎(chǔ)知識坐標軸設(shè)置21273繪圖基礎(chǔ)知識圖例設(shè)置:圖例的基本設(shè)置,還是用layout()命令,legend中也有很多參數(shù),對這些參數(shù)賦值還是選取字典復合的方式,下面大致介紹一些常用的參數(shù)。x,y:用坐標的形式來確定圖例的位置,個人推薦在[0,1]之間取值font:設(shè)置圖例的字體大小顏色bgcolor:圖例背景顏色bordercolor:圖例邊框顏色orientation:圖例擺放,平行還是垂直,默認垂直’v’,平行用‘h’borderwidth:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論