微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是什么使点图在geom_point的另一个图之上?以及如何改变呢?

如何解决是什么使点图在geom_point的另一个图之上?以及如何改变呢?

是什么使值点图重叠并在ggtern图上的另一个图之上?我该如何更改? 我想将我选择的彩色观测值绘制在黑色观测值的上方。 (根据我的数据,我有1400个观测值,即使点尺寸较小,这种情况仍然会发生)

function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "SHEETNAME" ) {         //checks that we're on the correct sheet
var r = s.getActiveCell();
if( r.getColumn() == 1 ) {                 //checks the column
var nextCell = r.offset(0,1);
if( nextCell.getValue() === '' )           //is empty?
  nextCell.setValue(new Date()).setNumberFormat("dd/mm/yyyy hh:mm:ss");
}
}
}

现在:

enter image description here

我尝试将颜色更改为“白色” obs <- c("Gene1","Gene2","Gene3","Gene4","Gene5","Gene6") func1 <- c("A","B","C","D","A") func2 <- c("A1","B1","C1","D1","C2","A2") Cond1 <- c(0.007623561,0.004639893,0.000994121,0.017494429,0.000366445,0.006663334) Cond2 <- c(0.011299941,0.009994388,0.001012428,0.013695669,0.000299771,0.010287904) Cond3 <- c(0.005055458,0.016826251,0.001311254,0.016115009,0.000242897,0.004583889) df <- data.frame(obs,func1,func2,Cond1,Cond2,Cond3) col<-rep("black",length(unique(df$func1))) names(col) <- unique(df$func1) col[which(names(col)=="A")] <- 'red' col[which(names(col)=="D")] <- 'blue' library(ggtern) g <- ggtern(data=df,aes(x=Cond1,y=Cond2,z=Cond3)) + theme_bw() + geom_point(aes(fill=func1),shape=21,size = 20,colour="black") + scale_fill_manual(values=col) + labs(x="Cond1",y="Cond2",z="Cond3") + scale_T_continuous(breaks=unique(df$x))+ scale_L_continuous(breaks=unique(df$y))+ scale_R_continuous(breaks=unique(df$z)) print(g) 或者另一个选择是将黑点变成白色/透明?在col<-rep("white",length(unique(df$func1)))中?

解决方法

例如,使“ B”和“ C”透明可能会解决您的问题,例如

library(tidyverse)

obs <- c("Gene1","Gene2","Gene3","Gene4","Gene5","Gene6")
func1 <- c("A","B","C","D","A")
func2 <- c("A1","B1","C1","D1","C2","A2")
Cond1 <- c(0.007623561,0.004639893,0.000994121,0.017494429,0.000366445,0.006663334)
Cond2 <- c(0.011299941,0.009994388,0.001012428,0.013695669,0.000299771,0.010287904)
Cond3 <- c(0.005055458,0.016826251,0.001311254,0.016115009,0.000242897,0.004583889)
df <- data.frame(obs,func1,func2,Cond1,Cond2,Cond3)

col<-rep("black",length(unique(df$func1)))
names(col) <- unique(df$func1)
col[which(names(col)=="A")] <- 'red'
col[which(names(col)=="D")] <- 'blue'
col[which(names(col)=="B" | names(col)=="C")] <- 'transparent'

#install.packages("ggtern")
library(ggtern)

g <- ggtern(data=df,aes(x=Cond1,y=Cond2,z=Cond3)) +
  theme_bw() +
  geom_point(aes(fill=func1),shape=21,size = 20,colour="black") +
  scale_fill_manual(values=col) +
  labs(x="Cond1",y="Cond2",z="Cond3") +
  scale_T_continuous(breaks=unique(df$x))+ 
  scale_L_continuous(breaks=unique(df$y))+ 
  scale_R_continuous(breaks=unique(df$z))

print(g)

enter image description here

否则,您可以指定绘制顺序(每example.png):

library(tidyverse)

obs <- c("Gene1",length(unique(df$func1)))
names(col) <- unique(df$func1)
col[which(names(col)=="A")] <- 'red'
col[which(names(col)=="D")] <- 'blue'

#install.packages("ggtern")
library(ggtern)
library(tidyverse)

g <- ggtern(data=df,z=Cond3)) +
  theme_bw() +
  geom_point(data = subset(df,!(func1 %in% c("A","D"))),aes(fill=func1),colour="black") +
  geom_point(data = subset(df,func1 %in% c("A","D")),z="Cond3") +
  scale_T_continuous(breaks=unique(df$x))+ 
  scale_L_continuous(breaks=unique(df$y))+ 
  scale_R_continuous(breaks=unique(df$z))

print(g)

controlling order of points in ggplot2 in R?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。