我有以下資料集:
structure(list(Isodecoder = c("Val"/span>。 "Leu", "Ile"。 "Arg", "Ser", "Ser" ,
"Ala")。 反義詞 = c("AAC"。 "AAG", "AAT"。 "ACG", "AGA", "AGC"
), baseMean = c(16330。 2876073118, 280025. 429470444, 47222.9145508434,
639520.228162813, 591.699871418142, 194550. 678700214)。 log2FC = c(/span>0. 241812205124871,
0.062182487534649,/span> -0. 912898805851376, 0. 414430653693951, -0.547252664766089,<
-0. 576581451007797)。 lfcSE = c(/span>0. 330123826005643, 0.0835105091511506,
0.193443262487333, 0. 258705563545134, 0.211263611125761, 0.249830083859411
), stat = c(0. 732489405719955, 0. 744606734729653, -4.71920703834881,<
1.60193947132354, -2. 59037825705024, -2. 30789439806721)。 pvalue = c(0. 463869906720502,
0.45650949539292, 2.36765754572021e-06, 0. 109168994996796, 0.00958705250629343,
0. 0210050107216242)。 FDR = c(0。 585940934804845, 0.585940934804845,
1.7165121174307e-05, 0. 201542759994085, 0.030678568020139, 0.0591953931677063
)。 標簽 = c("Val-AAC"/span>。 "Leu-AAG", "Ile-AT"。 "Arg-ACG", "Ser-AGA","Ala-AGC")。 擺動 = c("AT_wobble"。 "AT_wobble", "AT_wobble","AT_wobble", "AT_wobble"。 "AT_wobble")),行。 names = c(NA, 6L
), class = "data. frame")
我在一個大的回圈中把這些繪制成條形圖。我的條形圖函式是:
我的條形圖函式是:
tRNA_barplot < - ggplot(data = df2, aes(x = Label, y = log2FC, fill = wobble, 標簽 = ifelse(FDR < 0. 05, "*"。 "ns"))
geom_bar(stat = "identity")
geom_text(vjust = 0。 nudge_y = ifelse(df2$log2FC < 0, -1。 1)。 大小= ifelse(df2$FDR < 0. 05, 6。 4))
xlab("Isoacceptor")/span>
ylab(運算式(粘貼(Log[2]/span>。 "FC"。 sep="")) >
#ylim(c(-5, 5))
theme_bw()
主題(axis.text. x = element_text(size = 12。 角= 45。 hjust = 1), plot. margin = margin(0。 5,0.5,0。 5,2。 "cm"),軸。 title = element_text(size = 12))
ggtitle(iso, "Fed vs Starved - tRNA LFCs"/span>)
我使用fill = wobble來給擺動位置著色。在AT_wobble和GC_wobble都存在的柱狀圖中...... AT_wobble的顏色為紅色,GC_wobble的顏色為藍色/綠松石色。我怎樣才能確保GC_wobble在單獨繪制的條形圖中保持藍色/綠松石色呢
?順便說一下......我所說的藍色和紅色是指未指定時的標準R顏色輸出
。附件是我所說的例子:
Leu是完美的,但我希望像Pro這樣的地塊在GC_wobble中保持藍色/綠松石色。
另外,我已經指定所有的FDR > 0.05應該在柱狀圖的頂部列印ns [ifelse(FDR < 0.05, "*", "ns")]。有沒有一種方法可以將實際的FDR數字列印到小數點后4位?我試過很多方法,但都很混亂。
謝謝!
uj5u.com熱心網友回復:
你需要添加scale_fill_manual。請看下面。
tRNA_barplot < - ggplot(data = df2, aes(x = Label, y = log2FC, fill = wobble, 標簽 = ifelse(FDR < 0. 05, "*"。 "ns"))
geom_bar(stat = "identity")
geom_text(vjust = 0。 nudge_y = ifelse(df2$log2FC < 0, -1。 1)。 大小= ifelse(df2$FDR < 0. 05, 6。 4))
xlab("Isoacceptor")/span>
ylab(運算式(粘貼(Log[2]/span>。 "FC"。 sep="")) >
#ylim(c(-5, 5))
theme_bw()
主題(axis.text. x = element_text(size = 12。 角= 45。 hjust = 1), plot. margin = margin(0。 5,0.5,0。 5,2。 "cm"),軸。 title = element_text(size = 12))
scale_fill_manual(values = c("AT_wobble" = 5))
uj5u.com熱心網友回復:
下面是解決這兩部分問題的一種方法:
第一部分。使用scales包,你可以確定任何默認的ggplot顏色的代碼。我在一個單獨的行中明確列出了這一點,以使其顯而易見,你可以通過在呼叫scale_fill_manual時直接包括這一點而簡化。
第2部分:使用對geom_text的呼叫列印實際的FDR號碼。注意對y比例的調整,以使FDR文本避免與繪圖的邊界相沖突。
一些其他要點:
a) geom_col()比geom_bar(stat = "identity")更簡單
。
b) 對expression()的呼叫不需要包括paste,請查看?plotmath
。
c) 使用ifelse條件陳述句來調整星號的大小,用于呼叫size
。
library(ggplot2)
col_GC_wobble <-尺度:: hue_pal()(2)[[2]]
規模:: hue_pal()(2)[2]
#> [1] "#00BFC4"/span>
ggplot(df2, aes(x = Label。 y = log2FC。 填充=擺動))
geom_col() 。
geom_text(aes(label = ifelse(FDR < 0. 05, "*"。 round(FDR。 4))),
vjust = ifelse(df2$log2FC < 0, 1, -0。 2),
size = ifelse(df2$FDR < 0。 05, 10。 4))
scale_fill_manual(values = col_GC_wobble)
scale_y_continuous(expand = expansion(mult = 0。 1))
xlab("Isoacceptor")/span>
ylab(運算式(Log[2]~FC))
theme_bw() .
主題(axis.text. x = element_text(size = 12。 角= 45。 hjust = 1),
plot.margin = margin(0。 5,0.5,0。 5,2。 "cm"),
軸。 title = element_text(size = 12))
ggtitle("Fed vs Starved - tRNA LFCs"/span>)

創建于2021-09-18,由reprex軟體包(v2.0.0)創建
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/330210.html
標籤:
上一篇:在多個頁面上保存圖表(面)。
下一篇:二元變數的散點圖(ggplot)



