數(shù)據(jù)分析50圖(五) —— 箱圖中位數(shù)

前言

華羅庚說過

數(shù)缺形時(shí)少直觀,形少數(shù)時(shí)難入微.

這句話第一次聽還是初中數(shù)學(xué)老師上二次方程課時(shí)說的.最近看到了3blue1brown對線性代數(shù)的直觀解釋感覺豁然開朗,于是我又撿起了兒時(shí)對美妙數(shù)學(xué)的興趣. 發(fā)現(xiàn)一個(gè)博客,數(shù)據(jù)可視化很好的例子,決定花些時(shí)間和大家一起解讀一下

例程來自:https://www.machinelearningplus.com/plots/matplotlib-histogram-python-examples//

感謝b站UP "菜菜TsaiTsai" 分享這個(gè)博客.

簡單回顧下上期內(nèi)容葱色,我們的目標(biāo)是在一張圖上展示多個(gè)維度信息,例如購買口紅時(shí)我們會參考他的銷量痕钢、色號挑童、價(jià)格等等參數(shù),當(dāng)我們把每個(gè)品牌的口紅個(gè)個(gè)參數(shù)都體現(xiàn)在一張圖上時(shí)這些點(diǎn)會有某種分布的趨勢糕非。這個(gè)趨勢在總樣本越多時(shí)越明顯蒙具。這期我們要綜合之前的散點(diǎn)圖和直方圖來展示。

例7

# Import Data
df = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/mpg_ggplot2.csv")

# Create Fig and gridspec
fig = plt.figure(figsize=(16, 10), dpi= 80)
grid = plt.GridSpec(4, 4, hspace=0.5, wspace=0.2)

# Define the axes
ax_main = fig.add_subplot(grid[:-1, :-1])
ax_right = fig.add_subplot(grid[:-1, -1], xticklabels=[], yticklabels=[])
ax_bottom = fig.add_subplot(grid[-1, 0:-1], xticklabels=[], yticklabels=[])

# Scatterplot on main ax
ax_main.scatter('displ', 'hwy', s=df.cty*4, c=df.manufacturer.astype('category').cat.codes, alpha=.9, data=df, cmap="tab10", edgecolors='gray', linewidths=.5)

# histogram on the right
ax_bottom.hist(df.displ, 40, histtype='stepfilled', orientation='vertical', color='deeppink')
ax_bottom.invert_yaxis()

# histogram in the bottom
ax_right.hist(df.hwy, 40, histtype='stepfilled', orientation='horizontal', color='deeppink')

# Decorations
ax_main.set(title='Scatterplot with Histograms \n displ vs hwy', xlabel='displ', ylabel='hwy')
ax_main.title.set_fontsize(20)
for item in ([ax_main.xaxis.label, ax_main.yaxis.label] + ax_main.get_xticklabels() + ax_main.get_yticklabels()):
    item.set_fontsize(14)

xlabels = ax_main.get_xticks().tolist()
ax_main.set_xticklabels(xlabels)
plt.show()

解析

我們上期提過一個(gè)問題朽肥,在一個(gè)平面上如何展示超過3個(gè)特征的維度信息禁筏。當(dāng)時(shí)的答案有,x衡招,y坐標(biāo)篱昔,等高線法,標(biāo)記顏色。上例采用了一個(gè)更簡單暴力的方法:再畫一個(gè)圖州刽。

解析下代碼流程

  1. 導(dǎo)入數(shù)據(jù)表
  2. 分割畫布
  3. 設(shè)置畫布尺寸空执,和其他2個(gè)畫布尺寸
  4. 畫圖,需要畫1幅散點(diǎn)圖穗椅,2幅直方圖
  5. 標(biāo)注 圖表的頭和軸的名字等等信息

方法參數(shù)解釋

  • plt.GridSpec(4, 4辨绊,hspace=0.5, wspace=0.2) 把畫布分為 4x4 高為0.5單位,寬為0.2單位
  • ax_bottom.invert_yaxis() 把y 軸作為很水平軸

圖像

s_higt..png

應(yīng)用

這里我們學(xué)到一個(gè)圖形分割的方法匹表。把一個(gè)長方形分成4分门坷,去3x3面積作為主畫面,剩下的1x4和4x1 大小作為輔助的畫面袍镀。你可以找一張紙畫畫看拜鹤,這讓我想起小學(xué)時(shí)做的那些數(shù)學(xué)題。來看圖像這次我們有更加量化的圖像流椒,但還是不夠敏簿。因?yàn)榧尤胱屇銇砻枋鲞@張圖表,表示什么宣虾,你可能很難回答惯裕。我們需要把具體再回到概括,不過這次用一個(gè)數(shù)值來概括绣硝◎呤疲看下一個(gè)例子

例8


# Create Fig and gridspec
fig = plt.figure(figsize=(16, 10), dpi= 80)
grid = plt.GridSpec(4, 4, hspace=0.5, wspace=0.2)

# Define the axes
ax_main = fig.add_subplot(grid[:-1, :-1])
ax_right = fig.add_subplot(grid[:-1, -1], xticklabels=[], yticklabels=[])
ax_bottom = fig.add_subplot(grid[-1, 0:-1], xticklabels=[], yticklabels=[])

# Scatterplot on main ax
ax_main.scatter('displ', 'hwy', s=df.cty*5, c=df.manufacturer.astype('category').cat.codes, alpha=.9, data=df, cmap="Set1", edgecolors='black', linewidths=.5)

# Add a graph in each part
sns.boxplot(df.hwy, ax=ax_right, orient="v")
sns.boxplot(df.displ, ax=ax_bottom, orient="h")

# Decorations ------------------
# Remove x axis name for the boxplot
ax_bottom.set(xlabel='')
ax_right.set(ylabel='')

# Main Title, Xlabel and YLabel
ax_main.set(title='Scatterplot with Histograms \n displ vs hwy', xlabel='displ', ylabel='hwy')

# Set font size of different components
ax_main.title.set_fontsize(20)
for item in ([ax_main.xaxis.label, ax_main.yaxis.label] + ax_main.get_xticklabels() + ax_main.get_yticklabels()):
    item.set_fontsize(14)

plt.show()

解析

這是第二次用到 seabron 包,他除了配色好看鹉胖,還直接幫你計(jì)算了握玛,中值、回歸線這些東西

解析下代碼流程

  1. 分割畫布
  2. 設(shè)置畫布大小
  3. 畫圖甫菠,一幅散點(diǎn)圖挠铲,2幅箱圖
  4. 添加標(biāo)注

方法參數(shù)解釋

sns.boxplot(df.hwy, ax=ax_right, orient="v")
  • 輸入為一個(gè)一維數(shù)列。
  • ax 可以用 matplotlib 的畫布作為輸入畫布
  • orient 設(shè)置方向

圖像

s_h_box.png

應(yīng)用

再箱圖中的橫線就是這個(gè)樣本的中位數(shù)寂诱,現(xiàn)在我們可以描述這個(gè)圖了拂苹,市場上主流排量車型時(shí)3.2L,主流的油耗在每英里25加侖痰洒。

下期預(yù)告

下期我們將做一次總結(jié)瓢棒,不在介紹新的統(tǒng)計(jì)圖。事實(shí)上對于非專業(yè)統(tǒng)計(jì)員而言丘喻,散點(diǎn)圖脯宿,折線圖,直方圖泉粉,箱圖连霉,已經(jīng)能應(yīng)對生活中99.9%場景了。這次總結(jié)我們會完整且詳細(xì)的把一個(gè)表格變成一幅漂亮而且有意義的圖表。

下期預(yù)告:統(tǒng)計(jì)50圖——總結(jié)與寶可夢游戲數(shù)值統(tǒng)計(jì)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末窘面,一起剝皮案震驚了整個(gè)濱河市翠语,隨后出現(xiàn)的幾起案子叽躯,更是在濱河造成了極大的恐慌财边,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件点骑,死亡現(xiàn)場離奇詭異酣难,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)黑滴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門憨募,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人袁辈,你說我怎么就攤上這事菜谣。” “怎么了晚缩?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵尾膊,是天一觀的道長。 經(jīng)常有香客問我荞彼,道長冈敛,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任鸣皂,我火速辦了婚禮抓谴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘寞缝。我一直安慰自己癌压,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布荆陆。 她就那樣靜靜地躺著措拇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪慎宾。 梳的紋絲不亂的頭發(fā)上丐吓,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天,我揣著相機(jī)與錄音趟据,去河邊找鬼券犁。 笑死,一個(gè)胖子當(dāng)著我的面吹牛汹碱,可吹牛的內(nèi)容都是我干的粘衬。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼稚新!你這毒婦竟也來了勘伺?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤褂删,失蹤者是張志新(化名)和其女友劉穎飞醉,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體屯阀,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡缅帘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了难衰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钦无。...
    茶點(diǎn)故事閱讀 39,785評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖盖袭,靈堂內(nèi)的尸體忽然破棺而出失暂,到底是詐尸還是另有隱情,我是刑警寧澤鳄虱,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布弟塞,位于F島的核電站,受9級特大地震影響醇蝴,放射性物質(zhì)發(fā)生泄漏宣肚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一悠栓、第九天 我趴在偏房一處隱蔽的房頂上張望霉涨。 院中可真熱鬧,春花似錦惭适、人聲如沸笙瑟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽往枷。三九已至,卻和暖如春凄杯,著一層夾襖步出監(jiān)牢的瞬間错洁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工戒突, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留屯碴,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓膊存,卻偏偏與公主長得像导而,于是被迫代替她去往敵國和親忱叭。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評論 2 354

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

  • 數(shù)據(jù)分析50圖(四) —— 熱點(diǎn)計(jì)數(shù)圖 前言 華羅庚說過 數(shù)缺形時(shí)少直觀,形少數(shù)時(shí)難入微. 這句話第一次聽還是初...
    iced_fd13閱讀 1,633評論 0 0
  • 在數(shù)據(jù)分析中今艺,數(shù)據(jù)可視化非常重要韵丑。我們可以將數(shù)據(jù)繪制成各種圖形千所,比如直方圖藏姐,散點(diǎn)圖等洞斯,從圖形中可以明顯看出各種數(shù)據(jù)...
    Clemente閱讀 1,888評論 0 4
  • 【日精進(jìn)打卡第13天】 【知~學(xué)習(xí)】 《六項(xiàng)精進(jìn)》2遍 《大學(xué)》2遍 【經(jīng)典名句分享】 認(rèn)真過好今天侥衬,這是最重要的...
    sunmoonwq閱讀 101評論 0 0
  • 秋天緩緩地走了,背影越來越遠(yuǎn)姻锁,直到再也看不見。雪花兒落下來了,一朵一朵飛滿天铲掐。想著你時(shí)會覺得很溫暖,即使是在大雪紛...
    簡JN閱讀 2,455評論 65 93
  • 不是先有價(jià)格值桩,才有市場摆霉。而是市場和需求決定了最終的價(jià)格平衡。提前規(guī)劃好價(jià)格是脫離現(xiàn)實(shí)的奔坟。會造成供求失衡的問題携栋。
    浪客詩心閱讀 361評論 0 0