ggplot2-基礎部分

同樣是一無所有疫衩,有的人覺得有朝一日可以擁有全世界;
希望你是有的人荣德,可以沒臉沒皮地積極向上;
####diamonds數(shù)據(jù)集的格式闷煤,color、cut涮瞻、carat鲤拿、price分別是該數(shù)據(jù)的列
 > head(diamonds)
# A tibble: 6 x 10
  carat cut       color clarity depth table price     x     y     z
  <dbl> <ord>     <ord> <ord>   <dbl> <dbl> <int> <dbl> <dbl> <dbl>
1 0.23  Ideal     E     SI2      61.5    55   326  3.95  3.98  2.43
2 0.21  Premium   E     SI1      59.8    61   326  3.89  3.84  2.31
3 0.23  Good      E     VS1      56.9    65   327  4.05  4.07  2.31
4 0.290 Premium   I     VS2      62.4    58   334  4.2   4.23  2.63
5 0.31  Good      J     SI2      63.3    58   335  4.34  4.35  2.75
6 0.24  Very Good J     VVS2     62.8    57   336  3.94  3.96  2.48
準備畫布
  • 數(shù)據(jù)需要是數(shù)據(jù)框格式
  • diamonds是ggplot2自帶數(shù)據(jù)集
library(ggplot2)
####just set up, no point
####格式:ggplot(df, aes(x, y, other aesthetics))
ggplot(diamonds, aes(x=carat, y=price,color=cut))
空白和xy軸.png
加點署咽,加趨勢線

ggplot(diamonds, aes(x=carat, y=price,color=cut)) + 
geom_point(alpha=0.1,size=1.0,shape=21,fill='white',stroke=2)+
geom_smooth(method='glm')
點_線.png
  • 依據(jù)cut分組近顷,geom_point自動分配顏色
  • alpha設置點的透明度(避免點太大重疊在一起)
  • stroke的第一反應是中風,在這里是指宁否,對于有邊界的形狀(可以用vignette("ggplot2-specs")查看相應形狀)窒升,可以為內(nèi)部和外部分別設置顏色,stroke用于設置邊界的寬度家淤;fill即內(nèi)部顏色异剥,這里color是依據(jù)分組的顏色;
  • method設定geom_smooth的曲線擬合方式
  • vignette("ggplot2-specs")調(diào)出參數(shù)的詳細說明
設置特定顏色
ggplot(diamonds, aes(x=carat, y=price, color=cut)) + 
geom_point()+scale_color_brewer(type='qual',palette=8)
  • 可通過type選擇‘div’絮重,‘qual’冤寿,‘seq’來設置,palette設置數(shù)字青伤,選擇顏色
    Diverging
    BrBG, PiYG, PRGn, PuOr, RdBu, RdGy, RdYlBu, RdYlGn, Spectral
    Qualitative
    Accent, Dark2, Paired, Pastel1, Pastel2, Set1, Set2, Set3
    Sequential
    Blues, BuGn, BuPu, GnBu, Greens, Greys, Oranges, OrRd, PuBu, PuBuGn, PuRd, Purples, RdPu, Reds, YlGn, YlGnBu, YlOrBr, YlOrRd
  • 還有其他參數(shù)督怜,?scale_color_brewer查找即可
對點的形狀不滿意狠角,可用scale_shape_manual()設置
x号杠、y、figure的title設置
gg <- ggplot(diamonds, aes(x=carat, y=price, color=cut)) + 
geom_point()+scale_color_brewer(type='qual',palette=8)+labs(title="Scatterplot", x="Carat", y="Price") 
print(gg)
  • 這里將整個設置存為圖片,通過print打印出來進行展示


    Rplot_各種標題.png
標題字體設置
gg1 <- gg + theme(plot.title=element_text(size=30, face="bold"), 
                  axis.text.x=element_text(size=15), 
                  axis.text.y=element_text(size=15),
                  axis.title.x=element_text(size=25),
                  axis.title.y=element_text(size=25)) 
print(gg1)
Rplot_標題字體.png
標題字體方向-改為垂直

適用于標題太長的時候姨蟋,可以修改字體的方向

gg2 <- gg + theme(axis.text.x = element_text(angle=90, hjust=1),
                  axis.text.y = element_text(angle=90, hjust=1))
print(gg2)
image.png
展示不同的分類下的分面
##cut和color是其另外的列
gg1 + facet_wrap( ~ cut)
gg_grid<-gg1 + facet_grid(color ~ cut) 
ggsave(gg_grid,filename = 'grid.png',width=20,height=15)
capitalize <- function(string) {
   substr(string, 1, 1) <- toupper(substr(string, 1, 1))
   string
}
conservation_status <- c(
   cd = "Conservation Dependent",
   en = "Endangered",
   lc = "Least concern",
   nt = "Near Threatened",
   vu = "Vulnerable",
   domesticated = "Domesticated"
)
global_labeller <- labeller(
       vore = capitalize,
       conservation = conservation_status,
       conservation2 = label_wrap_gen(10),
       .default = label_both
   )
gg_q<-gg1 + facet_wrap(color ~ cut, scales="free",labeller = global_labeller) 
ggsave(gg_q,filename = 'test.png',width = 20,height = 15)
  • facet_wrap 和facet_grid將一個圖展示成不同的panel
查資料的個人理解如下:
  • 單個變量的展示屉凯,用facet_wrap比較方便,也好看一點眼溶;
  • 兩個變量的展示悠砚,用facet_grid方便一點;
  • 均展示兩個變量的情況堂飞,facet_grid會把兩個變量的所有組合均進行展示灌旧,而facet_wrap只會展示兩個變量的所有組合中真實有數(shù)據(jù)的組合
  • 可以通過設定labeller的方式改變label的展示情況
  • 圖太大就存成圖片的格式
Rplot_facet_wrap.png

grid.png
facet_wrap_labeller_set.png

[參考內(nèi)容]
http://r-statistics.co/ggplot2-Tutorial-With-R.html
http://www.rpubs.com/Logos/252923


課程分享
生信技能樹全球公益巡講
https://mp.weixin.qq.com/s/E9ykuIbc-2Ja9HOY0bn_6g
B站公益74小時生信工程師教學視頻合輯
https://mp.weixin.qq.com/s/IyFK7l_WBAiUgqQi8O7Hxw
招學徒:
https://mp.weixin.qq.com/s/KgbilzXnFjbKKunuw7NVfw

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末绰筛,一起剝皮案震驚了整個濱河市枢泰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌铝噩,老刑警劉巖衡蚂,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異薄榛,居然都是意外死亡讳窟,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進店門敞恋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來丽啡,“玉大人,你說我怎么就攤上這事硬猫〔构浚” “怎么了?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵啸蜜,是天一觀的道長坑雅。 經(jīng)常有香客問我,道長衬横,這世上最難降的妖魔是什么裹粤? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮蜂林,結(jié)果婚禮上遥诉,老公的妹妹穿的比我還像新娘。我一直安慰自己噪叙,他們只是感情好矮锈,可當我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著睁蕾,像睡著了一般苞笨。 火紅的嫁衣襯著肌膚如雪债朵。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天瀑凝,我揣著相機與錄音序芦,去河邊找鬼。 笑死粤咪,一個胖子當著我的面吹牛芝加,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播射窒,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼将塑!你這毒婦竟也來了脉顿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤点寥,失蹤者是張志新(化名)和其女友劉穎艾疟,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體敢辩,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡蔽莱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了戚长。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盗冷。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖同廉,靈堂內(nèi)的尸體忽然破棺而出仪糖,到底是詐尸還是另有隱情,我是刑警寧澤迫肖,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布锅劝,位于F島的核電站,受9級特大地震影響蟆湖,放射性物質(zhì)發(fā)生泄漏故爵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一隅津、第九天 我趴在偏房一處隱蔽的房頂上張望诬垂。 院中可真熱鬧,春花似錦饥瓷、人聲如沸剥纷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽晦鞋。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間悠垛,已是汗流浹背线定。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留确买,地道東北人斤讥。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像湾趾,于是被迫代替她去往敵國和親芭商。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,507評論 2 359