原文章來源鏈接:https://brucezhaor./blog/2016/06/13/excel2ggplot/ 原文章作者:BruceZhaoR(RStats, interested in Statistics Models, Machine/Deep Learning, Data visualization, High Performance Computing ...) 作者主頁:https://github.com/BruceZhaoR
excel作為一個(gè)強(qiáng)大的統(tǒng)計(jì)工具,自身包含著一部分?jǐn)?shù)據(jù)可視化的功能。R作為可視化的大勢(shì),自然也可以畫出這些圖,有一篇就通過ggplot2包 進(jìn)行了部分總結(jié),甚是有趣,小編復(fù)刻學(xué)習(xí)了一番,現(xiàn)對(duì)代碼做簡(jiǎn)單注釋,以作分享。 關(guān)于excel,ppt,你還可以get Excel改變了你的基因名,30% 相關(guān)Nature文章受影響,NCBI也受波及 推薦 3 個(gè)超贊的 EXCEL 插件,讓你 5 分鐘從小白變大神 你和PPT高手之間,就只差一個(gè)iSlide 加載所需工具包library(ggplot2) #作圖包 library(dplyr) #數(shù)據(jù)轉(zhuǎn)換包 library(tidyr) #數(shù)據(jù)轉(zhuǎn)換包 library(splines) #數(shù)據(jù)差值包
ggplot2的基本概念數(shù)據(jù)data/映射美學(xué)asethetics/幾何對(duì)象geometries/分面facets/統(tǒng)計(jì)statistics/坐標(biāo)系coordinates/主題themes 數(shù)據(jù)準(zhǔn)備set.seed(123) #設(shè)定隨機(jī)種子,保證做的圖和樣例一致樣 df <- data.frame( var=LETTERS[1:10], #字母A-J id=1:10, #數(shù)字1-10 a=runif(10), #10個(gè)隨機(jī)數(shù) b=runif(10), #10個(gè)隨機(jī)數(shù) c=runif(10), #10個(gè)隨機(jī)數(shù) stringsAsFactors = F #不轉(zhuǎn)換為因子 ) print(df) #顯示數(shù)據(jù)
得到所需數(shù)據(jù)樣式(寬矩陣轉(zhuǎn)長(zhǎng)矩陣)df1<- df%>%gather('item',value,-1:-2)%>% bind_cols(data.frame(item_id=rep(1:3,each=10)))
# 使用tidyr和dplyr包的gather函數(shù)進(jìn)行數(shù)據(jù)樣式轉(zhuǎn)換,%>%是dplyr包的傳遞函數(shù)
print(df1)
ggplot畫圖ggplot2是圖層式繪圖,一層層添加修改,圖層需要指定數(shù)據(jù)集,數(shù)據(jù)集中的內(nèi)容(ase數(shù)據(jù)),geom_圖形,stat統(tǒng)計(jì)轉(zhuǎn)換,position圖形位置 柱形圖——geom_bar,注意position參數(shù)ggplot(df1,aes(var,value))+ geom_bar(aes(fill=item),stat = 'identity',position='dodge',width=0.8)+ labs(title='柱形圖') # geom_bar=stat_count,stat=identy接受兩個(gè)變量作圖,position默認(rèn)參數(shù)是stack,position='dodge'時(shí),不同變量橫向排列
ggplot(df1,aes(var,value))+ geom_bar(aes(fill=(item)),stat = 'identity',position='stack',width=0.8)+ labs(title='堆積柱狀圖')
ggplot(df1,aes(var,value))+ geom_bar(aes(fill=item),stat = 'identity',position='fill',width=0.8)+ labs(title='百分比堆積柱狀圖')
ggplot(df1,aes(var,value))+ geom_bar(aes(fill=item),stat = 'identity',width=0.8)+ facet_grid(item~.)+ # 垂直方向分割 labs(title='三維柱形圖') # 平面展示,(facet_grid)將三維圖平面展示
折線圖——geom_line
變量以點(diǎn)展示,然后連點(diǎn)成線
ggplot(df1,aes(id,value,colour=item))+ # 點(diǎn) geom_line()+ # 連線 scale_x_continuous(breaks = 1:10,labels = LETTERS[1:10])+ #將X坐標(biāo)軸改為十等分并標(biāo)以字母 labs(title='折線圖')
ggplot(df1,aes(id,value,colour=item))+ geom_line(position='stack')+ scale_x_continuous(breaks = 1:10,labels = LETTERS[1:10])+ labs(title='堆積折線圖')
ggplot(df1,aes(id,value,colour=item))+ geom_line(position='fill')+ scale_x_continuous(breaks = 1:10,labels = LETTERS[1:10])+ labs(title='百分比堆積折線圖')
ggplot(df1,aes(id,value,colour=item))+ geom_line()+ geom_point()+ scale_x_continuous(breaks = 1:10,labels = LETTERS[1:10])+ labs(title='帶標(biāo)記的折線圖') #增加了散點(diǎn)圖geom_point
ggplot(df1,aes(id,value,colour=item))+ geom_line(position='stack')+ geom_point(position='stack')+ scale_x_continuous(breaks = 1:10,labels = LETTERS[1:10])+ labs(title='帶標(biāo)記的堆積折線圖')
ggplot(df1,aes(id,value,colour=item))+ geom_line(aes(ymin=0),position='fill')+ geom_point(aes(ymin=0),position='fill')+ scale_x_continuous(breaks = 1:10,labels = LETTERS[1:10])+ labs(title='帶標(biāo)記的百分比堆積折線圖')
ggplot(df1,aes(id,value,colour=item))+ facet_grid(item~.)+ # 垂直方向分割 geom_line()+ scale_x_continuous(breaks = 1:10,labels = LETTERS[1:10])+ labs(title='三維折線圖') #用facet_grid平面展示,
餅圖
餅圖,將一般的柱圖進(jìn)行直角坐標(biāo)軸到極坐標(biāo)軸的轉(zhuǎn)換(coord_polar()) ggplot(df,aes(x=factor(1),a,fill=factor(var)))+ geom_bar(stat='identity',position='fill')+ coord_polar(theta='y')+ # 按Y軸極坐標(biāo)轉(zhuǎn)換 labs(title='餅圖')因?yàn)槭窃跅l形圖中對(duì)y軸進(jìn)行極坐標(biāo)轉(zhuǎn)換,因此x軸長(zhǎng)短需要一致,統(tǒng)一設(shè)為一個(gè)值,此處是x=factor(1)
復(fù)合餅圖和復(fù)合條餅圖
有嵌套類時(shí),可以衍生一個(gè)圖形展現(xiàn)子類內(nèi)容,下圖是一個(gè)demo,僅作為圖案參考樣式,還有許多需要改進(jìn)的地方 df_tmp<-data.frame(x=1,y=1) #準(zhǔn)備畫布所需數(shù)據(jù) base <- ggplot(df_tmp,aes(x,y))+ geom_blank()+ theme_void()+ xlim(c(0,2))+ ylim(c(0,2)) # 準(zhǔn)備背景畫布
base + annotation_custom( grob = ggplotGrob( ggplot(df,aes(x = '',a,fill=factor(var)))+ # 注釋 geom_bar(stat='identity',position='fill', show.legend = F)+ labs(x=NULL,y=NULL)+ coord_polar(theta='y')+ theme_classic()), xmin =0,xmax=1, ymin=0.5,ymax = 1.5)+ # 圖左 annotation_custom( grob = ggplotGrob( ggplot(df,aes(x = '',b,fill=factor(var)))+ geom_bar(stat='identity', position='fill', show.legend = F)+ labs(x=NULL,y=NULL)+ coord_polar(theta='y')+ theme_classic()), xmin =1.1,xmax=1.9, ymin=0.6,ymax = 1.4)+ # 圖右 annotate('segment',x=0.5,xend=1.5, y=0.69,yend=0.77)+ # 下線條 annotate('segment',x=0.5,xend=1.5, y=1.35,yend=1.28) # 上線條+ labs(title='復(fù)合餅圖')
# 復(fù)合條餅圖
base <- ggplot(df_tmp,aes(x,y))+geom_blank()+theme_void()+ xlim(c(0,2))+ylim(c(0,2)) # 背景畫布 base + annotation_custom( grob = ggplotGrob( ggplot(df,aes(x = '',a,fill=factor(var)))+ geom_bar(stat='identity', position='fill', show.legend = F)+ labs(x=NULL,y=NULL)+ coord_polar(theta='y')+theme_void()), # 餅圖比條形圖多了一個(gè)極坐標(biāo)轉(zhuǎn)換 xmin =0,xmax=1, ymin=0.5,ymax = 1.5)+ # 左圖 annotation_custom( grob = ggplotGrob( ggplot(df,aes(x = '',b,fill=factor(var)))+ geom_bar(stat='identity', position='fill', show.legend = F)+ labs(x=NULL,y=NULL)+theme_void()), xmin =1.2,xmax=1.8,ymin=0.8,ymax = 1.2)+ # 右圖 annotate('segment',x=0.5,xend=1.24,y=0.64,yend=0.84)+ # 下線段 annotate('segment',x=0.5,xend=1.24,y=1.38,yend=1.18)+ # 上線段 labs(title='復(fù)合條餅圖')
圓環(huán)圖
一個(gè)圓環(huán)代表一個(gè)變量,顏色表示其屬性 ggplot(df1,aes(x = item,value,fill=var))+ geom_bar(stat='identity',position='fill',width=0.8,colour='black')+ coord_polar(theta='y')
其他圓形圖
用coord_polar作出的demo圖 demo1<-ggplot(df,aes(x = factor(1),a,fill=factor(var)))+ geom_bar(stat='identity',position='dodge') demo1 #柱形圖
demo1+coord_polar(theta='y') # 按y軸極坐標(biāo)轉(zhuǎn)換
demo1+coord_polar(theta='x') # 按X軸極坐標(biāo)轉(zhuǎn)換,此時(shí)x還可以等于var
demo2<-ggplot(df1,aes(x = id,value,fill=item))+ geom_bar(stat='identity',position='fill',width=0.8) demo2 # 百分比柱形圖
demo2+coord_polar(theta='x') # 按x軸極坐標(biāo)轉(zhuǎn)換
條形圖
條形圖就是橫過來的柱形圖,用函數(shù)coord_filp() 處理逆時(shí)針旋轉(zhuǎn)90° ggplot(df1,aes(var,value))+ geom_bar(aes(fill=item),stat = 'identity',position='dodge',width=0.8)+ labs(title='條形圖')+ coord_flip() # 和柱形圖代碼的唯一區(qū)別coord_flip()
ggplot(df1,aes(var,value))+ geom_bar(aes(fill=item),stat = 'identity',position='stack',width=0.8)+ labs(title='堆積條形圖')+ coord_flip()
ggplot(df1,aes(var,value))+ geom_bar(aes(fill=item),stat = 'identity',position='fill',width=0.8)+ labs(title='百分比堆積條形圖',fill='')+ coord_flip()
ggplot(df1,aes(var,value))+ geom_bar(aes(fill=item),stat = 'identity',position='dodge',width=0.8)+ labs(title='三維百分比條形圖',fill='')+ coord_flip()+ facet_grid(.~item) # 水平方向分割,用多個(gè)分面展示多維
面積圖——geom_area
面積圖就是將折線圖下面的區(qū)域標(biāo)注顏色,表示面積。 ggplot(df1,aes(id,value))+ geom_area(aes(fill=item),position=position_dodge(width = 0), alpha=0.5)+ # 暗色不透明度 labs(title='面積圖',fill='')+ scale_x_continuous(breaks = 1:10,labels = LETTERS[1:10])
ggplot(df1,aes(id,value))+ geom_area(aes(fill=item),alpha=0.5)+ labs(title='堆積面積圖')+ # 區(qū)別堆積折線圖是少了`position=stack` scale_x_continuous(breaks = 1:10,labels = LETTERS[1:10])
ggplot(df1,aes(id,value))+ geom_area(aes(fill=item),position='fill',alpha=0.5)+ labs(title='百分比堆積面積圖',fill='')+ scale_x_continuous(breaks = 1:10,labels = LETTERS[1:10])
ggplot(df1,aes(id,value))+ geom_area(aes(fill=item),position='stack',alpha=0.5)+ # 區(qū)別于三維折線圖添加了`position=stack`,便于分割后更好觀察面積分布 labs(title='三維百分比堆積面積圖',fill='')+ scale_x_continuous(breaks = 1:10,labels = LETTERS[1:10])+ facet_grid(item~.) # 按垂直水平分割
XY散點(diǎn)圖
需要注意的是確定X,Y軸以后,需要把對(duì)應(yīng)的值賦到圖中 ggplot(df1,aes(var,value))+ geom_point(aes(colour=item))+ labs(title = '散點(diǎn)圖')
df1_a<-df1 %>% filter(item=='a') %>% select(value) %>% unlist %>% spline(,1000) %>% as.data.frame() df1_b<-df1 %>% filter(item=='b') %>% select(value) %>% unlist %>% spline(,1000) %>% as.data.frame() df1_c<-df1 %>% filter(item=='c') %>% select(value) %>% unlist %>% spline(,1000) %>% as.data.frame() # 分開獲得需要a,b,c的數(shù)據(jù)value,并被等分為1000份,用spline曲線連接,轉(zhuǎn)換為數(shù)據(jù)框格式
df1_sp<-bind_rows(df1_a,df1_b,df1_c) %>% mutate(item=rep(letters[1:3],each=1000)) # 添加1列item
ggplot()+ geom_point(data=df1,aes(id,value,colour=item))+ geom_line(data=df1_sp,aes(x,y,colour=item))+ scale_x_continuous(breaks = 1:10,labels = LETTERS[1:10])+ labs(title = '帶平滑線和數(shù)據(jù)標(biāo)記的散點(diǎn)圖') # 點(diǎn)加線
ggplot(df1,aes(id,value,colour=item))+ geom_point()+ geom_line()+ scale_x_continuous(breaks = 1:10,labels = LETTERS[1:10])+ labs(title = '帶直線和點(diǎn)數(shù)據(jù)標(biāo)記的散點(diǎn)圖')
ggplot(df1,aes(id,value,colour=item))+ geom_line()+ scale_x_continuous(breaks = 1:10,labels = LETTERS[1:10])+ labs(title = '帶直線的散點(diǎn)圖') # 就是折線圖
氣泡圖
氣泡圖即點(diǎn)的大小表示數(shù)值大小的點(diǎn)圖 ggplot(df1,aes(id,value,colour=item))+ geom_point(aes(size=value))+ scale_x_continuous(breaks = 1:10,labels = LETTERS[1:10]) # `size=value`給點(diǎn)賦予數(shù)值大小屬性
股價(jià)圖
ggplot(df)+ geom_point(aes(Sys.Date()-1:10,c))+ geom_linerange(aes(Sys.Date()-1:10,ymin=a,ymax=b))+ labs(title='已知盤高-盤低-收盤圖')
# `Sys.Date`返還任一日期時(shí)間,c是收盤量 # `geom_linerange`是由a,b兩個(gè)對(duì)象的ymin和ymax定義的垂直區(qū)間線圖
ggplot(df)+ geom_point(aes(Sys.Date()-1:10,c))+ geom_linerange(aes(Sys.Date()-1:10,ymin=a,ymax=b))+ geom_crossbar(aes(Sys.Date()-1:10,c,ymin=a,ymax=c),width=0.2)+ labs(title='已知開盤-盤高-盤低-收盤圖')
# 在已知盤高-盤底-收盤圖的基礎(chǔ)上加上`geom_crossbar`,這里是連系a的最小和c的最大值, # geom_crossbar(): 空心柱,上中下三條線分別代表ymax,mean,ymin
ggplot(data = filter(df1,item != 'c'), aes(rep(Sys.Date()-1:10,3),value))+ facet_grid(item~.,scale='free')+ geom_point(data = filter(df1,item == 'a'), aes(Sys.Date()-1:10,value))+ geom_linerange(data = filter(df1,item == 'a'), aes(Sys.Date()-1:10,value, ymin=value-runif(10), ymax=value+runif(10)))+ geom_bar(data = filter(df1,item == 'b'), aes(Sys.Date()-1:10,value*1000), stat='identity')+ labs(title='成交量-盤高-盤低-收盤圖')
# 點(diǎn)和線距圖是對(duì)象a的數(shù)據(jù)有盤高盤低,條形圖是關(guān)于對(duì)象b的圖,成交量 # facet_grid(item~.,scale='free'),垂直分割,且不同形式的圖表可以被分割出來
ggplot(data = filter(df1,item != 'c'), aes(rep(Sys.Date()-1:10,3),value))+ facet_grid(item~.,scale='free')+ geom_point(data = filter(df1,item == 'a'), aes(Sys.Date()-1:10,value))+ geom_linerange(data = filter(df1,item == 'a'), aes(Sys.Date()-1:10,value, ymin=value-runif(10), ymax=value+runif(10)))+ geom_crossbar(data = filter(df1,item == 'a'), aes(Sys.Date()-1:10,value, ymin=value-runif(10), ymax=value+runif(10)), width=0.2)+ geom_bar(data = filter(df1,item == 'b'), aes(Sys.Date()-1:10,value*1000), stat='identity')+ labs(title='已知成交量-開盤-盤高-盤低-收盤圖')
# 在上一個(gè)圖的基礎(chǔ)上加了個(gè)`geom_crossbar`,篩選對(duì)象b作為開盤
曲面圖——geom_contour
三維圖形,下圖是對(duì)密度的一個(gè)二維密度估計(jì) ggplot(df1,aes(id,item_id))+ geom_contour(aes(z=value,colour=..level..), binwidth=0.001)+ scale_colour_gradientn(colours = terrain.colors(10))+ scale_x_continuous(breaks = 1:10,labels = LETTERS[1:10])+ scale_y_continuous(breaks = 1:3,labels = letters[1:3])+ labs(title='曲面圖')
# binwidth設(shè)置組距,值越小畫得線越多,密度圖函數(shù)colour設(shè)置等高線顏色
ggplot(df1,aes(id,item_id))+ geom_contour(aes(z=value,colour=..level..), binwidth=0.1)+ scale_colour_gradientn(colours = terrain.colors(10))+ scale_x_continuous(breaks = 1:10,labels = LETTERS[1:10])+ scale_y_continuous(breaks = 1:3,labels = letters[1:3])+ labs(title='曲面圖(框架圖)')
# 用不同顏色等高線畫框架圖,和上圖比增加了組距。
雷達(dá)圖
ggplot(df1,aes(id,value,colour=item))+ geom_bar(stat='identity', position='dodge', # 普通柱形圖 fill='transparent',# 填充透明度 size=1)+ coord_polar()+ #極坐標(biāo)轉(zhuǎn)換 scale_x_continuous(breaks = 1:5,labels = LETTERS[1:5])+ facet_wrap(~item,nrow=2)+ # 水平分割,分割后的圖呈兩行排列 labs(title='雷達(dá)圖')
# 雷達(dá)圖就是極坐標(biāo)轉(zhuǎn)換后的普通柱形圖,加了透明背景框,相當(dāng)于其他透明圖
ggplot(df1,aes(id,value,colour=item))+ geom_bar(stat='identity', position='dodge', fill='transparent', size=1, width=0.5)+ geom_point()+ coord_polar()+ scale_x_continuous(breaks = 1:5,labels = LETTERS[1:5])+ facet_wrap(~item,nrow=2)+ labs(title='帶數(shù)據(jù)標(biāo)記的雷達(dá)圖')
# 在geom_bar的基礎(chǔ)上加上了以三個(gè)對(duì)象a,b,c,的值為點(diǎn)的點(diǎn)圖geom_point
ggplot(df1,aes(id,value))+ geom_bar(aes(fill=item),stat='identity', position='dodge')+ # 以item項(xiàng)的值映射柱形圖的表達(dá)值 scale_x_continuous(breaks = 1:10,labels = LETTERS[1:10])+ # x軸分成了十等份 coord_polar()+ facet_wrap(~item,nrow=2)+ labs(title='填充雷達(dá)圖')
直方圖
直方圖是先把數(shù)據(jù)劃分區(qū)間,按從小到大的順序排列,并以柱狀圖的形式表現(xiàn) ggplot(df1,aes(value))+ geom_histogram(bins=5,colour='white') # 映射value表達(dá)值,邊界框是白色
# 排列圖(數(shù)據(jù)從小到大排列)
df_tmp2<-df %>% select(1:3) %>% # 前三列 arrange(a) %>% #按列a的值從小到大排序 mutate(per = a/sum(a)) %>% # 增加per列,值為對(duì)應(yīng)總數(shù)的比例 arrange(desc(a)) %>% # 重新按列a的值從達(dá)到小排列 mutate(new_id = 1:10)%>% # 增加new_id列 mutate(per = cumsum(per)) # 將per列的值按new_id的順序逐個(gè)疊加
ggplot(df_tmp2)+ geom_bar(aes(new_id,a,fill=var),stat='identity')+ # fill=var添加圖例并按照?qǐng)D例上色 geom_line(aes(new_id,per))+ scale_x_continuous(breaks = 1:10, labels = df_tmp2$var) # 令X軸的值為df_tmp2的var
箱型圖
箱型圖是用分位數(shù)表述數(shù)據(jù)的離散和集中趨勢(shì) ggplot(df1,aes(item,value,colour=item))+ geom_boxplot(aes(fill=item),alpha=0.2, outlier.colour = 'red', outlier.shape = 2, outlier.size = 5, coef=1.5)+ # 箱線圖的異常值設(shè)定,邊框?yàn)榧t色,形狀為2指代的三角形,大小為5,參數(shù)coef指定了“須”的長(zhǎng)度的極限值,默認(rèn)值是1.5,表示兩條須的極限不會(huì)超過盒型各端加1.5倍四分位距的范圍,如果被置為0,條須的延長(zhǎng)極限就會(huì)在數(shù)據(jù)集中元素的極限位置,圖中不會(huì)有任何離群點(diǎn)。geom_jitter(width = 0.1) # geom_jitter()是geom_point(position='jitter')的簡(jiǎn)稱,帶狀圖,一維散點(diǎn)圖。
瀑布圖
瀑布圖可表現(xiàn)圖形漲跌趨勢(shì),后一個(gè)柱子和前一個(gè)柱子有增長(zhǎng)和下降的關(guān)系。 df_tmp3 <- df %>%select(1:3)%>%mutate(cum=cumsum(a) ,low=lag(cum,default = 0)) # 新增一列cum,值為對(duì)應(yīng)a值逐個(gè)疊加,新增加一列l(wèi)ow,對(duì)應(yīng)的是同一行的cum的上一個(gè)值,開始值是0.
ggplot(df_tmp3,aes(id,cum))+ # geom_step(colour='grey50')+ 是梯線 geom_crossbar(aes(ymin=low,ymax=cum), size=0, fill='skyblue', colour='grey50', # 邊框顏色 width=1)+ scale_x_continuous(breaks = 1:10, labels = LETTERS[1:10]) #geom_crossbar(): 空心柱,上下兩條線分別代表ymax、ymin
漏斗圖
漏斗圖的數(shù)據(jù)分布在圖形中間,用coord_flip()轉(zhuǎn)換方向,可以看到不同組的最大,最小值的差異 df_tmp4<-df %>% select(1:3) %>% arrange(a) %>% mutate(new_id=1:10, ymin = (1-a)/2, ymax = a+(1-a)/2, mid = 0.5) # 新增四列,new_id,ymin,ymax和min列
ggplot(df_tmp4,aes(new_id,mid))+ # geom_step(colour='grey50')+ geom_crossbar(aes(ymin=ymin,ymax=ymax), size=0, fill='skyblue', colour='grey50', width=1)+ scale_x_continuous(breaks = 1:10, labels = df_tmp4$var)+ coord_flip() # 整個(gè)圖形逆時(shí)針轉(zhuǎn)90度
# geom_crossbar()空心柱
ggplot(df_tmp4,aes(new_id,mid))+ geom_linerange(aes(ymin=ymin,ymax=ymax, colour=factor(new_id)), size=15, alpha=0.5,show.legend = F)+ scale_x_continuous(breaks = 1:10, labels = df_tmp4$var)+ coord_flip()
高顏值在線免費(fèi)繪圖
R統(tǒng)計(jì)和作圖 ggplot2高效實(shí)用指南 (可視化腳本、工具、套路、配色) ggplot2學(xué)習(xí)筆記之圖形排列 你的包佩奇了嗎?試試新版Rstudio,自動(dòng)提醒缺失包! 原來Rstudio還可以這么使用,又方便了一些 在R中贊揚(yáng)下努力工作的你,獎(jiǎng)勵(lì)一份CheatShet 別人的電子書,你的電子書,都在bookdown R語言 - 入門環(huán)境Rstudio R語言 - 熱圖繪制 (heatmap) R語言 - 基礎(chǔ)概念和矩陣操作 R語言 - 熱圖簡(jiǎn)化 R語言 - 熱圖美化 R語言 - 線圖繪制 R語言 - 線圖一步法 R語言 - 箱線圖(小提琴圖、抖動(dòng)圖、區(qū)域散點(diǎn)圖) R語言 - 箱線圖一步法 R語言 - 火山圖 R語言 - 富集分析泡泡圖 R語言 - 散點(diǎn)圖繪制 R語言 - 韋恩圖 R語言 - 柱狀圖 R語言 - 圖形設(shè)置中英字體 R語言 - 非參數(shù)法生存分析 R語言 - 繪制seq logo圖 一文學(xué)會(huì)網(wǎng)絡(luò)分析——Co-occurrence網(wǎng)絡(luò)圖在R中的實(shí)現(xiàn) R中1010個(gè)熱圖繪制方法 圖像處理R包magick學(xué)習(xí)筆記
R語言可視化學(xué)習(xí)筆記之ggridges包
R包reshape2,輕松實(shí)現(xiàn)長(zhǎng)、寬數(shù)據(jù)表格轉(zhuǎn)換
用R在地圖上繪制網(wǎng)絡(luò)圖的三種方法 PCA主成分分析實(shí)戰(zhàn)和可視化 附R代碼和測(cè)試數(shù)據(jù) iTOL快速繪制顏值最高的進(jìn)化樹! 12個(gè)ggplot2擴(kuò)展包幫你實(shí)現(xiàn)更強(qiáng)大的可視化 編程模板-R語言腳本寫作:最簡(jiǎn)單的統(tǒng)計(jì)與繪圖,包安裝、命令行參數(shù)解析、文件讀取、表格和矢量圖輸出 R語言統(tǒng)計(jì)入門課程推薦——生物科學(xué)中的數(shù)據(jù)分析Data Analysis for the Life Sciences 數(shù)據(jù)可視化基本套路總結(jié) 你知道R中的賦值符號(hào)箭頭<-和等號(hào)=的區(qū)別嗎? 使用dplyr進(jìn)行數(shù)據(jù)操作30例 R包reshape2,輕松實(shí)現(xiàn)長(zhǎng)、寬數(shù)據(jù)表格轉(zhuǎn)換 R語言搭建炫酷的線上博客系統(tǒng) R包c(diǎn)irclize:柱狀圖用膩了?試試好看的弦狀圖 獲取pheatmap聚類后和標(biāo)準(zhǔn)化后的結(jié)果 增強(qiáng)火山圖,要不要試一下? 一個(gè)震撼的交互型3D可視化R包 - 可直接轉(zhuǎn)ggplot2圖為3D 贈(zèng)你一只金色的眼 - 富集分析和表達(dá)數(shù)據(jù)可視化
|