用R畫boxplot+dotplot+violinplot+jitter及代碼

2021-12-24 生物信息學習

收錄於話題 #R畫圖 52個

BioNews,專注於報導生命科學領域相關新聞,長按下方二維碼即可關注"BioNews"(id : iBioNews)

我們在想要展示我們的科研成果的時候經常會需要用到一些圖,其中boxplot,dotplot,violinplot和jitter等是我們經常要用到的圖,那我們會畫單個圖後如何把這些圖整合到一張圖上呢,下面小編就給大家介紹。

首先violin的代碼如下:

library(ggplot2)theme_set(theme_bw())g <- ggplot(mpg, aes(class, cty))
##violin plotg + geom_violin(col="red") + labs(title="Violin plot", subtitle="City Mileage vs Class of vehicle", caption="Source: mpg", x="Class of Vehicle", y="City Mileage")

       結果圖如下所示:

boxplot的代碼如下所示:

##boxplotg+geom_boxplot(width=.1,col="green") ##col設置顏色,width設置寬度

結果圖如下所示:

dotplot代碼如下所示:

##dotplotg+geom_dotplot(binwidth=0.5,binaxis='y',               stackdir='center',               dotsize = .5,               fill="yellow")

把點分開排列的代碼如下所示:

##jitterg+geom_point(position = "jitter", color="blue", alpha=.8)

結果圖如下所示:

那如何把這些圖都在一張圖上展示呢?用「+」連接就可以了,具體代碼如下所示:

##combine allg + geom_violin(col="red") +  labs(title="Violin plot",       subtitle="City Mileage vs Class of vehicle",       caption="Source: mpg",       x="Class of Vehicle",       y="City Mileage")+geom_boxplot(width=.1,col="green")+    geom_point(position = "jitter", color="blue", alpha=.5)+    geom_dotplot(binwidth=0.5,binaxis='y',               stackdir='center',               dotsize = .5,               fill="yellow")

恭喜你,又學到了一個新技能。有任何問題,歡迎留言。

後臺回復BDVJ,即可獲得代碼。

另:我們創建了生物信息學習交流群,如需進群,請長按下方二維碼,添加管理員微信(禁廣告)。

溫馨提示:添加管理員微信時請備註姓名/學習/專業

相關焦點

  • 回答讀者系列(二):geom_dotplot()與geom_jitter()是一樣的嗎?
    下方是這位讀者的問題: geom_dotplot()與geom_jitter()作出的圖形都是點(points),因此看上去非常相似,也容易混淆。而geom_jitter()通常用於作散點圖,也可以用於多組間的均數比較。但geom_jitter()主要是為了解決數據重疊的問題。比如,當你的散點圖中,許多點堆積在相同的位置(一樣的數值),因此無法反應數據的真實情況。
  • R畫dotplot
    在我們發文章的過程中,經常需要做一些圖,可看別人畫的圖那麼好看,到底是怎麼做出來的呢?
  • 點陣圖dotplot參數詳解
    添加箱型圖ggdotplot(df, x = "dose", y = "len",fill="dose",alpha=0.7,color="red",          add = "boxplot")
  • Python可視化43|plotnine≈Python版ggplot2
    ', 'geom_blank', 'geom_boxplot', 'geom_col', 'geom_count', 'geom_crossbar', 'geom_density', 'geom_density_2d', 'geom_dotplot', 'geom_errorbar', 'geom_errorbarh', 'geom_freqpoly', 'geom_histogram', 'geom_hline
  • 代碼向 |R barplot or boxplot ? 小孩子才選擇,一鍵輸出所有組合
    圖應該是boxplt 還是 barplot ? 要不要加差異顯著標記?要不要分面?小孩子才選擇,最後寫了一個腳本一次輸出所有要求的圖,連格式PDF和PNG 都一起輸出了。下面看成果Rscript boxplot-barplot.multi.Group.R -h 參考腳本說明 -i 豐度表,第一列是樣品ID -m 分組信息,第一列是樣品ID -g 繪圖分組信息列名,默認"Group"    -c 分組顏色 默認:1b9e77:d95f02:7570b3:e7298a:66a61e
  • 第十一講:R作圖-ggplot2軟體包快速入門-qplot()函數
    」:繪製箱式圖·geom =「 dotplot」:繪製點圖。·geom =「violin」:繪製小提琴圖。參數trim設置為FALSE#數值矢量繪製箱式圖x<-"1"y<-rnorm(100)qplot(x,y,geom="boxplot")#數據框繪製箱式圖qplot(group,weight,data=PlantGrowth, geom=c("boxplot"))#點圖qplot(group
  • 醫學統計R語言:分面畫boxplot
    library(foreign) sp <- read.spss("q.sav",to.data.frame=T,                  use.value.lables=T,reencode='utf-8')ggplot(sp,aes(x=newsleeptime,y=cryl,fill=newage,color=newage))+      geom_boxplot
  • Python語言plotnine VS R語言ggplot2
    import *from plotnine.data import mpgimport matplotlib.pyplot as pltfrom matplotlib import gridspectheme_set(theme_bw(base_family = "STKaiti"))## plotnine數據可視化流程## 初始化繪圖圖層,並指定繪圖的數據和坐標系X,Y軸使用的變量p1 = (ggplot
  • R語言作圖實例之boxplot
    通過有效的R語言代碼,我們可以將數據更好地展現給人們,從而可以直觀、形象地解釋數據。隨著R語言在最近十年中的廣泛應用和普及,人們越來越多地將它用在數據可視化中,相應也產生了許多程序包。根據具體的實際應用,同學們可以將數據集替換成自己的data使用下面的代碼。
  • 代替箱型圖的 Violin plot 是什麼鬼?
    Photo by Providence Doucet on Unsplash你可以用直方圖或者核密度估計(KDE)圖來展示特定特徵的分布情況,你也可以用箱型圖來查看最終的離群值。但是你決定這個點子如何:把兩種圖表結合起來?那就是小提琴圖了。在本文深入下去之前,我們先申明一下本文的合適受眾。
  • facet_plot: 關聯數據和進化樹的通用方法
    比如 dotplot 畫 SNP 位點 (e.g. using geom_point(shape='|')), barplot 畫trait values (e.g. using geom_barh(stat='identity')) 等等。
  • R繪圖之箱線圖(boxplot)
    箱線圖是一種基於五個統計量:上邊緣,上四分位數Q3,中位數,下四分位數Q1和下邊緣,來顯示數據分布的統計圖。Median:中位數(Q2 / 50th百分位數)Q1: 第一個四分位數(Q1 / 25百分位數)Q3: 第三四分位數(Q3 / 75th Percentile)四分位間距(IQR):Q1到Q3的距離Minimum:  Q1 -1.5 * IQRMaximum:Q3 +1.5 * IQR離群值
  • 我用Python的Seaborn庫,繪製了17個超好看圖表!
    ()默認展示的是某種變量分布的平均值(可通過修改estimator參數為max、min、median等)# from numpy import medianfig,axes=plt.subplots(1,2,figsize=(10,6))sns.barplot(x='菜系',y='評分',color="r",data=df,ax=axes[0])sns.barplot
  • 一文搞懂 R 軟體的 boxplot
    = 0.6)1213arrows(31.87,  1.2, 61.87, 1.43, code = 1)14text(65, 1.48, "中位數", cex = 0.6)1516arrows(63.63,  0.8, 90, 0.69, code = 1)17text(93, 0.59, "四分之三位點", cex = 0.6)18