簡體   English   中英

將變量函數標簽添加到 R 中的三元圖

[英]Add variable function label to ternary plot in R

我想將我的數據繪制為三元圖,其中基因在三種條件之一下上升或下降,即。 更接近顯示更高值的條件。

  1. 每個變量的值是否獨立於值而標准化?
  2. 我可以向選定的“基因”變量添加標簽,該變量聲明變量“func2”嗎?

這是我獲得的(頂部)和我想要的(底部)的可重現示例

gene <- c("Gene1", "Gene2", "Gene3", "Gene4","Gene5", "Gene6")
func1 <- c("A", "B", "C", "D", "C", "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(gene, func1, func2, Cond1, Cond2, Cond3)


library(ggplot2) 
library(ggtern) 
ggtern(data=df,aes(x=Cond1,y=Cond2,z=Cond3,color=func1)) +
theme_bw() +
geom_point() +
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))

在此處輸入圖片說明 在此處輸入圖片說明

我們先存儲原圖:

library(ggtern)

g = ggtern(data=df,aes(x=Cond1,y=Cond2,z=Cond3,color=func1)) +
theme_bw() +
geom_point() +
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))

使用geom_label_viewport()選項,一個簡單的帶注釋的圖如下所示:

g + geom_text(aes(label=func2),hjust=-0.2,vjust=-0.2,size=3)

在此處輸入圖片說明

您可以將要標記的點子集如下:

g + geom_text(data=~subset(.,func2 %in% c("C2","B1")),
aes(label=func2),hjust=-0.2,vjust=-0.2,size=3)

暫無
暫無

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

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