9.2.2 柱狀圖
1.plot.bar()和plot.barh()分別用來繪制垂直和水平的柱狀圖
2.Series或DataFrame的索引被用作x軸刻度線(bar)或y軸刻度線(barh)(參考圖9-15)

3.選項(xiàng)color='k'將柱子顏色設(shè)置為黑色;alpha將圖像的填充設(shè)置為部分透明

4.在DataFrame柱狀圖中(參考圖9-16),
?????????????? (1)每一行中的值分組到并排的柱子中的一組
? ? ? ? ? ? ?? (2)列名稱“Genus”被用作圖例標(biāo)題
5.傳遞stacked=True來生成堆積柱狀圖,使得每一行的值堆積在一起

6.使用value_counts:
data.value_counts().plot.bar()可以有效的對Series的值頻率進(jìn)行可視化(參考圖9-15以及圖9-18)

7.示例:繪制一個堆積柱狀圖,用于展示每個派對在每天的數(shù)據(jù)點(diǎn)占比(參考圖9-20(1)、9-20(2))
???? 使用read_csv導(dǎo)入文件tips.csv(見圖9-19)



8.對于在繪圖前需要聚合或匯總的數(shù)據(jù),使用seaborn會使工作更簡單
??? 使用seaborn進(jìn)行按星期日計(jì)算小費(fèi)百分比(參考圖9-21)

? ???? seaborn中的繪圖函數(shù)使用一個data參數(shù),這個參數(shù)可以是pandas的DataFrame。其他的參數(shù)則與列名有關(guān)。
? ?? ? day列中有多個觀測值,柱子的值是tip_pct的平均值。
? ? ? ? 柱子上畫出的黑線代表的是95%的置信區(qū)間(置信區(qū)間可以通過可選參數(shù)進(jìn)行設(shè)置)。???? 注:置信區(qū)間:指由樣本統(tǒng)計(jì)量所構(gòu)造的總體參數(shù)的估計(jì)區(qū)間
9.seaborn.barplot擁有一個hue選項(xiàng),允許我們通過一個額外的分類值將數(shù)據(jù)分離(如圖9-22)

注:seaborn自動改變了圖表的美觀性:默認(rèn)的調(diào)色板、圖背景和網(wǎng)格線條顏色
9.2.3 直方圖和密度圖
1.直方圖:一種條形圖,用于給出值頻率的離散顯示。????????????????????????????????????????????? ?? ? 數(shù)據(jù)點(diǎn)被分成離散的,均勻間隔的箱,并且繪制每個箱中數(shù)據(jù)點(diǎn)的數(shù)量。
使用Series的plot.hist方法制作小費(fèi)占總費(fèi)用百分比的直方圖(如圖9-23)

2.密度圖(KDE圖):一種與直方圖相關(guān)的圖表類型,它通過計(jì)算可能產(chǎn)生觀測數(shù)據(jù)的連續(xù)概率分布估計(jì)而產(chǎn)生。????????????????????? ? ? ? ?? ?????????????????????????????????????????????????????????????????? 通常的做法是將這種分布近似為“內(nèi)核”的混合,也就是像正態(tài)分布那樣簡單的分布。
plot.kde使用傳統(tǒng)法定混合法估計(jì)繪制密度圖(見圖9-24):

3. distplot方法可以繪制直方圖和連續(xù)密度估計(jì),通過distplot方法seaborn使直方圖和密度圖的繪制更為簡單。
示例:考慮由兩個不同的標(biāo)準(zhǔn)正態(tài)分布組成的雙峰分布

9.2.4 散點(diǎn)圖或點(diǎn)圖
1.點(diǎn)圖或散點(diǎn)圖可以用于檢驗(yàn)兩個一維數(shù)據(jù)序列之間的關(guān)系??????????????????????????????????????????????? 示例:載入文件,選擇對數(shù)計(jì)算對數(shù)差(見圖9-27) ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????


注:(1)np.diff(a,n=1,axis=-1) ????????????????????????????????????????????????????????????????????????????????????????????? Calculate the n-th discrete difference along the given axis??????????????????????????????????????? (2)DataFrame.dropna(axis=0,how='any',thresh=None,subset=None,inplace=False)???????????????? Remove missing values.(3)np.log()????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ? ? ? log() 返回 x 的自然對數(shù)
使用seaborn的regplot方法,該方法可以繪制散點(diǎn)圖,并擬合出一個條線性回歸線(見圖9-29)

2.對圖、散點(diǎn)圖矩陣?? 查看一組變量中的所有散點(diǎn)圖
利用seaborn的pairplot函數(shù),它支持在對角線上放置每個變量的直方圖或密度估計(jì)值(見圖9-30)

注:plot_ksw參數(shù):使我們能夠?qū)⑴渲眠x項(xiàng)傳遞給非對角元素上的各個繪圖調(diào)用
9.2.5 分面網(wǎng)格和分類數(shù)據(jù)?
1.分面網(wǎng)格是利用多種分組變量對數(shù)據(jù)進(jìn)行可視化的方式
seaborn擁有一個有效的內(nèi)建函數(shù)factorplot,它可以簡化多種分面繪圖(見圖9-31):

除了根據(jù)’time’在一個面內(nèi)將不同的柱分組為不同的顏色,我們還可以通過每個時間值添加一行來擴(kuò)展分面網(wǎng)格(見圖9-32):
sns.factorplot(x='day', y='tip_pct', row='time',?????????????????????????????????????????????????????????????????????????????? .....:? ? ? ? ? ? ? ? ? col='smoker', ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? .....:? ? ? ? ? ? ? ? ? kind='bar', data=tips[tips.tip_pct < 1])

factorplot支持其他可能有用的圖類型,具體取決于你要顯示的內(nèi)容。例如,箱形圖(顯示中位值、四分位數(shù)和異常值)可以是有效的可視化類型(圖9-33):
