簡體   English   中英

R 中帶有因變量的小提琴散點圖

[英]Violin scatter plots with dependent variables in R

這是我的數據集“細胞計數”:

Treatment DAPI DAPO DAPU 1 DMSO 20 30 40 2 DMSO 24 26 42 3 DMSO 23 24 39 4 EPZ 0.5uM 10 25 22 5 EPZ 0.5uM 12 24 22 6 EPZ 0.5uM 14 24 30 7 EPZ 0.5uM 20 19 32

我正在嘗試創建一個小提琴散點圖 plot,x 軸為治療組,y 軸為細胞計數(DAPI、DAPO、DAPU),所以我總共應該有六個小提琴圖。

p1<-ggplot(cellcounts,aes(x=Treatment,y=DAPI)) +geom_violin(aes(colour="DAPI"),alpha=0.5)+ geom_jitter(data=cellcounts,shape=16,position=position_jitter(0.2),colour="blue")+ geom_boxplot(width=0.1,fill="grey")

獲得小提琴 plot,盒子 plot 和此處顯示的散點

我可以為這里顯示的 DAPO 和 DAPU 數據添加小提琴圖

p2<-p1+geom_violin(aes(Treatment,DAPO,colour="DAPO"),alpha=0.5)

p3<-p2+geom_violin(aes(Treatment,DAPU,colour="DAPU"),alpha=0.5)

如果我現在嘗試添加抖動 plot

p3+geom_jitter(data=cellcounts,shape=16,position=position_jitter(0.2),colour="blue")

它僅針對 DAPI 數據添加,因為這是 ggplot 需求(?)我如何添加 DAPO 和 DAPU 數據的數據點?

我還希望 DAPI Violin 和抖動點為藍色、DAPO 綠色和 DAPU 紅色。

感謝您的時間

您可以嘗試以下方法,首先將 pivot 數據轉換為長格式,因此您無需使用命令指定每一列:

library(ggplot2)
library(tidyr)

p = ggplot(pivot_longer(cellcounts,-Treatment),aes(Treatment,value))+
geom_violin(aes(col=name),position=position_dodge(width=0.3)) +
geom_point(aes(shape=name),col="blue",position=position_dodge(width=0.3))

打印(p)

在此處輸入圖像描述

正如您在上面看到的,我將小提琴繪制為“閃避”,這意味着不在同一條垂直線上,並且為了對齊您的數據點,通常我們會使用相同的顏色。 由於您希望所有點都是藍色的,所以我只是使用 shape 作為變量來讓它們對齊。

如果您希望它們具有相同的形狀,請執行以下操作:

p+scale_shape_manual(values=c(20,20,20))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM