R語言畫圖-條形圖,堆疊條形圖(ggplot2)

R畫條形圖方法---barplot函數(shù)及ggplot2包

1. barplot函數(shù)

> a=matrix(1:18,2)

> a

? ? ?[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]

[1,]? ? 1? ? 3? ? 5? ? 7? ? 9? ?11? ?13? ?15? ?17

[2,]? ? 2? ? 4? ? 6? ? 8? ?10? ?12? ?14? ?16? ?18

> class(a) #查看a數(shù)據(jù)類型

[1] "matrix"

注意barplot函數(shù)對象要么是向量肪获,要么是矩陣,若不是狈蚤,則要進行數(shù)據(jù)數(shù)據(jù)類型進行轉(zhuǎn)換

> barplot(d)? #所有參數(shù)默認(rèn)


> ?barplot


常見參數(shù)就不贅述了猴抹,幾個個人認(rèn)為比較重要參數(shù)如下

names.arg----在每個條形圖或條形圖下繪制的名稱向量贬堵。 如果省略此參數(shù),那么如果它是向量结洼,則從height的names屬性中獲取名稱黎做;如果它是矩陣,則從列名稱中獲取名稱松忍。

legend.text----數(shù)據(jù)為矩陣的時候用引几,如果legend.text為true,則height的行名稱非空時將用作標(biāo)簽挽铁。

horiz----默認(rèn)false伟桅,為豎直條形圖,改為TRUE叽掘,為水平條形圖

beside---如果為FALSE楣铁,則將高度列描繪為堆疊的條,如果為TRUE更扁,則將列描繪為并列的條

space---每根柱子之前留出的空間量(以平均柱子寬度的一部分為單位)盖腕。 可以以單個數(shù)字或每個小節(jié)一個數(shù)字的形式給出。 如果height是一個矩陣浓镜,并且next為TRUE溃列,則可以用兩個數(shù)字指定空間,其中第一個是同一組中的條形之間的間隔膛薛,第二個是組之間的間隔听隐。 如果未明確給出,則如果height為矩陣哄啄,并且next為TRUE雅任,則默認(rèn)為c(0,1),否則為0.2咨跌。

還有很多參數(shù)可以通過help()查詢

> barplot(a,names.arg = c('1','2','3','4','5','6','7','8','9'),beside = TRUE,horiz = TRUE,col = rep(c('blue','green','gray'),3),legend.text = TRUE)

> barplot(a,names.arg = c('1','2','3','4','5','6','7','8','9'),beside = F,horiz = TRUE,col = rep(c('blue','green'),2),legend.text = TRUE)

> barplot(a,names.arg = c('1','2','3','4','5','6','7','8','9'),beside = F,horiz = F,col = rep(c('blue','green'),2),legend.text = TRUE)?

2.ggplot2包

安裝加載包

install.package('ggplot2')

library(ggplot2)

#創(chuàng)建矩陣

data<-data.frame(Sample<-c(rep('control1',3),rep('control2',3),rep('control3',3),rep('treat1',3),rep('treat2',3),rep('treat3',3),rep('treat4',3)), contion<-rep(c('Cell','Tissue','Organ'),7), value<-c(503,264,148,299,268,98,363,289,208,108,424,353,1,495,168,152,367,146,48,596,143))

colnames(data)=c('sample',"contion","value")

ggplot(data,mapping = aes(Sample,value,fill=contion))+geom_bar(stat='identity',position='fill') +labs(x = 'Sample',y = 'frequnency') +theme(axis.title =element_text(size = 16),axis.text =element_text(size = 14, color = 'black'))+theme(axis.text.x = element_text(angle = 45, hjust = 1))


#ggplot函數(shù)沪么,geom從數(shù)據(jù)到幾何圖像,geom_bar為柱狀圖锌半,geom_line為線型圖等禽车,aes形成映射,x軸為sample刊殉,y軸為value殉摔,堆疊為contion,geom_bar()函數(shù)為建立柱狀圖冗澈,stat參數(shù)-統(tǒng)計變換钦勘,position參數(shù)為柱狀圖形式,position= 'fill'(圖形元素堆疊且高度標(biāo)準(zhǔn)化為1)亚亲,position= 'stack'(圖形堆疊圖)彻采,參數(shù)position= 'dodge'(并列數(shù)據(jù)腐缤,非堆疊展示),coord畫圖在某個坐標(biāo)系中肛响,facet將繪圖窗口分成若干子窗口用來生成數(shù)據(jù)中不同子集的圖形

# labs為標(biāo)題岭粤,theme為設(shè)置標(biāo)題參數(shù),axis.title為軸標(biāo)題信息特笋,axis.text為軸注釋文本剃浇,axis.text.x表示設(shè)置x軸的信息,還有更多參數(shù)詳查ggplot2包

ggplot(data,mapping = aes(Sample,value,fill=contion))+geom_bar(stat='identity',position='fill') +labs(x = 'Sample',y = 'frequnency') +theme(axis.title =element_text(size = 16),axis.text =element_text(size = 14, color = 'black'))+theme(axis.text.x = element_text(angle = 45, hjust = 1))+coord_flip() #加的函數(shù)可實現(xiàn)水平柱狀圖展示


ggplot(data,mapping = aes(Sample,value,fill=contion))+geom_bar(stat='identity',position='stack') +labs(x = 'Sample',y = 'frequnency') +theme(axis.title =element_text(size = 16),axis.text =element_text(size = 14, color = 'black'))+theme(axis.text.x = element_text(angle = 45, hjust = 1))

ggplot(data,mapping = aes(Sample,value,fill=contion))+geom_bar(stat='identity',position='dodge') +labs(x = 'Sample',y = 'frequnency') +theme(axis.title =element_text(size = 16),axis.text =element_text(size = 14, color = 'black'))+theme(axis.text.x = element_text(angle = 45, hjust = 1))

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末猎物,一起剝皮案震驚了整個濱河市虎囚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蔫磨,老刑警劉巖淘讥,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異堤如,居然都是意外死亡蒲列,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門搀罢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蝗岖,“玉大人,你說我怎么就攤上這事榔至〉钟” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵洛退,是天一觀的道長瓣俯。 經(jīng)常有香客問我,道長兵怯,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任腔剂,我火速辦了婚禮媒区,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘掸犬。我一直安慰自己袜漩,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布湾碎。 她就那樣靜靜地躺著宙攻,像睡著了一般。 火紅的嫁衣襯著肌膚如雪介褥。 梳的紋絲不亂的頭發(fā)上座掘,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天递惋,我揣著相機與錄音,去河邊找鬼溢陪。 笑死萍虽,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的形真。 我是一名探鬼主播杉编,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼咆霜!你這毒婦竟也來了邓馒?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤蛾坯,失蹤者是張志新(化名)和其女友劉穎光酣,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體偿衰,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡挂疆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了下翎。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缤言。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖视事,靈堂內(nèi)的尸體忽然破棺而出胆萧,到底是詐尸還是另有隱情,我是刑警寧澤俐东,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布跌穗,位于F島的核電站,受9級特大地震影響虏辫,放射性物質(zhì)發(fā)生泄漏蚌吸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一砌庄、第九天 我趴在偏房一處隱蔽的房頂上張望羹唠。 院中可真熱鬧,春花似錦娄昆、人聲如沸佩微。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哺眯。三九已至,卻和暖如春扒俯,著一層夾襖步出監(jiān)牢的瞬間奶卓,已是汗流浹背一疯。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留寝杖,地道東北人违施。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像瑟幕,于是被迫代替她去往敵國和親磕蒲。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

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