可視化系列5 | 快速繪圖qplot4-箱線圖

箱線圖是利用數(shù)據(jù)的五個(gè)統(tǒng)計(jì)量则酝,最小值源譬,第一四分位數(shù)勺拣,中位數(shù)跨蟹,第三四分位數(shù),最大值來(lái)描述數(shù)據(jù)的一種方法擒贸,一般來(lái)說(shuō)都是用于幾個(gè)數(shù)據(jù)組之間的比較臀晃。

上一篇文章中,我們講解了關(guān)于使用qplot繪制折線圖和散點(diǎn)折線圖的操作

漂亮的折線圖

onlybugs介劫,公眾號(hào):輕松玩轉(zhuǎn)生信可視化系列4 | 快速繪圖qplot3-折線圖

今天徽惋,我們就要繪制一種更加常用,而且也究極實(shí)用的圖表了座韵,他就是箱線圖险绘。相信大家對(duì)這箱線圖早有耳聞,但是繪制的可能都不是很理想誉碴。而今天繪制的仍舊不是我們能做到的終極效果隆圆,頂多說(shuō)是普通效果罷了,后面使用ggplot配合scale系列函數(shù)翔烁,以及各種其它的geom函數(shù),我們能獲得更復(fù)雜的箱線圖或者箱線提琴散點(diǎn)圖等等旨涝。

繪制基本箱線圖

在畫圖之前我們先加載畫圖的包蹬屹,然后復(fù)制一份數(shù)據(jù)到當(dāng)前環(huán)境中,

library(ggplot2)

df <- ToothGrowth

ToothGrowth是一組關(guān)于牙齒生長(zhǎng)的數(shù)據(jù)集白华,你可以用它來(lái)類比聯(lián)想你正在使用的數(shù)據(jù)集慨默,其實(shí)大同小異的。TG這組數(shù)據(jù)集中一共具有60個(gè)觀測(cè)弧腥,每個(gè)觀測(cè)都是對(duì)豚鼠牙齒的生長(zhǎng)進(jìn)行的測(cè)量厦取。每一個(gè)觀測(cè)通過(guò)喂食OJ和VC兩種維生素,每種維生素具有三種不同的劑量管搪,由此來(lái)進(jìn)行分析是否對(duì)其牙齒的生長(zhǎng)產(chǎn)生了影響虾攻。

畫圖之前铡买,我們?cè)倏纯次覀兊母髁卸际鞘裁礃幼拥陌?/p>

> str(df)
'data.frame':  60 obs. of  3 variables:
 $ len : num  4.2 11.5 7.3 5.8 6.4 10 11.2 11.2 5.2 7 ...
 $ supp: Factor w/ 2 levels "OJ","VC": 2 2 2 2 2 2 2 2 2 2 ...
 $ dose: num  0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 ...

這里我們的len就是牙齒的長(zhǎng)度,supp就是服用的藥物類型霎箍,然后dose是服用的劑量奇钞。其中,len和dose是數(shù)值類型漂坏,而supp是因子類型景埃,為了方便,我們后續(xù)可能會(huì)對(duì)dose類型轉(zhuǎn)化顶别,變成因子類型谷徙。

下面開始最簡(jiǎn)單的箱線圖吧,我們畫個(gè)不太合理的東西驯绎,看看不同的藥物作用之間是不是有顯著的差異

qplot(data = df,
      x = supp,y = len,
      geom = 'boxplot')
圖片

這個(gè)圖其實(shí)是不太合適的完慧,這里就是給大家展示一下,因?yàn)椴煌瑒┝啃?yīng)的都混在一起条篷,但是還是能整體看出OJ的效果更優(yōu)一些骗随。這里就是最簡(jiǎn)單的箱線圖了,我們只需要指定geom='boxplot'即可赴叹。

分組箱線圖

接下來(lái)我們要來(lái)繪制分組箱線圖鸿染,這能更好的展示我們的數(shù)據(jù),而且也更符合我們目前的需求乞巧。

這里的qplot有些問題涨椒,作者也沒找到具體原因,按理說(shuō)如下代碼的結(jié)果應(yīng)該是相同的绽媒,結(jié)果qplot卻犯了撒蚕冬,個(gè)人推測(cè)是由于qplot的內(nèi)置機(jī)制有關(guān),有些參數(shù)傳遞不過(guò)去是辕,導(dǎo)致無(wú)法分組

qplot(data = df,
      x = factor(dose),y = len,
      group = supp,fill = supp,
      geom = 'boxplot')

ggplot(df,aes(x = factor(dose),y=len,fill=supp)) + 
  geom_boxplot()

那這里就使用ggplot來(lái)進(jìn)行講解吧囤热,反正也大差不差了,這里的data是指定數(shù)據(jù)获三,然后x和y是指定我們畫圖的x和y軸都是什么旁蔼。這里要注意,我們的x一定要轉(zhuǎn)化為factor類型疙教,不然會(huì)出問題棺聊。然后使用不同的藥物進(jìn)行填充顏色,就得到了下面的圖片

圖片

這就是我們非常常見的分組箱子圖了贞谓,大家應(yīng)該經(jīng)常會(huì)見到類似的限佩。我們這里明顯能看出OJ的效果更好,而劑量到達(dá)2的時(shí)候則接近相似。

一些基本可調(diào)參數(shù)

最后講講箱線圖可以調(diào)節(jié)的參數(shù)吧祟同。這里也是講解最基本參數(shù)作喘,不做配色映射修改以及分面操作。

對(duì)于一個(gè)箱子圖來(lái)說(shuō)耐亏,我們能看到fill徊都,也就是填充顏色參數(shù),然后箱子具有邊緣广辰,那也就是說(shuō)它也具有和線有關(guān)的參數(shù)暇矫,比如線顏色以及粗細(xì)等等。

ggplot(df,aes(x = factor(dose),y=len,fill=supp)) + 
  geom_boxplot(size = 1,
               color = 'red')
圖片

這里我們就是修改了箱子的線條粗細(xì)以及箱子的線條顏色择吊。由于我把配色選的太丑了李根,所以看著更難看死了。几睛。房轿。。大家知道參數(shù)咋回事就好所森。

下面一組參數(shù)是關(guān)于箱子的寬度囱持,我們都知道箱線圖的長(zhǎng)是有自己的數(shù)學(xué)含義的,即極值和四分位數(shù)焕济,但是寬度可沒有定義纷妆,所以我們這里可以使用width參數(shù)對(duì)寬度進(jìn)行修改。

ggplot(df,aes(x = factor(dose),y=len,fill=supp)) + 
  geom_boxplot(width = 0.5)
圖片

G缙掩幢!寬度參數(shù)需要在0-1之間,不要忘記了上鞠,大于1將會(huì)導(dǎo)致你無(wú)法處理的情況<柿凇!

關(guān)于箱線圖的第一節(jié)就學(xué)這么多吧芍阎,后面完全講解的時(shí)候會(huì)把這一期內(nèi)容貼上去世曾,然后講解箱子提琴圖以及notch參數(shù),顏色映射修改谴咸,分面以及修改兩個(gè)箱子之間的距離等等比較麻煩的東西度硝。

下一篇文章的內(nèi)容是關(guān)于使用qplot繪制提琴圖,使用數(shù)據(jù)集應(yīng)該是不會(huì)發(fā)生變化寿冕,和今天的數(shù)據(jù)集一樣。

如果你喜歡我的文章椒袍,請(qǐng)收藏我的文章并且給我個(gè)贊驼唱,你的支持就是我更新的最大的動(dòng)力,關(guān)注我會(huì)有更多驚喜哦驹暑,專注于生物信息學(xué)以及數(shù)據(jù)分析入門和進(jìn)階教程玫恳,也許我給不了你從10-100辨赐,但是我可以給你最好的從0-10!

最后京办,關(guān)注我的公眾號(hào)掀序,領(lǐng)取更多學(xué)習(xí)資料吧!2研觥不恭!

打開v搜索,”輕松玩轉(zhuǎn)生信“或者從下面文章進(jìn)去獲取二維碼關(guān)注哦

二維碼傳送門

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末财饥,一起剝皮案震驚了整個(gè)濱河市换吧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌钥星,老刑警劉巖沾瓦,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異谦炒,居然都是意外死亡贯莺,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門宁改,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)缕探,“玉大人,你說(shuō)我怎么就攤上這事透且∷喊” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵秽誊,是天一觀的道長(zhǎng)鲸沮。 經(jīng)常有香客問我,道長(zhǎng)锅论,這世上最難降的妖魔是什么讼溺? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮最易,結(jié)果婚禮上怒坯,老公的妹妹穿的比我還像新娘。我一直安慰自己藻懒,他們只是感情好剔猿,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著嬉荆,像睡著了一般归敬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天汪茧,我揣著相機(jī)與錄音椅亚,去河邊找鬼。 笑死舱污,一個(gè)胖子當(dāng)著我的面吹牛呀舔,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播扩灯,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼媚赖,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了驴剔?” 一聲冷哼從身側(cè)響起省古,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎丧失,沒想到半個(gè)月后豺妓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡布讹,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年琳拭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片描验。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡白嘁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出膘流,到底是詐尸還是另有隱情絮缅,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布呼股,位于F島的核電站耕魄,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏彭谁。R本人自食惡果不足惜吸奴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望缠局。 院中可真熱鬧则奥,春花似錦、人聲如沸狭园。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)唱矛。三九已至档泽,卻和暖如春俊戳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背馆匿。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留燥滑,地道東北人渐北。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像铭拧,于是被迫代替她去往敵國(guó)和親赃蛛。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

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