我正試圖將我的繪圖上的y軸改為10^n。我讀了幾個帖子,顯示了如何將y軸改為科學符號(labels = scales::scientific),但這不是我所要的。我想讓我的y軸顯示的是10^0、10^1、10^2、10^3、10^4和10^5,但是我似乎找不到如何做到這一點。
這是我的資料的一個例子
bar < -結構(list(pos = 1。 79, val = c(68129。 20691, 14216.01188,
6390.804842, 3710.602599, 2296. 736176, 1515.498656, 1032.497215,
774.2636827, 618.9658189, 395. 5689752, 287.2984833, 208.6625183,
183.6068538, 137.6857165, 113. 6463666, 96.85256149, 72.62917502,
65.98488201, 35.93813664, 34. 80700588, 37.10602599, 17.22309159,
19.57341781, 16.15598098, 11. 00694171, 7.034321639, 5.994842503,
7.034321639, 5.994842503, 2。 020949938, 4.084238653, 2.020949938,
5. 108969775, 1, 2. 020949938, 1。 1, 1。 0, 0。 1, 2. 020949938,
0, 2. 020949938, 1。 0, 1, 0, 1, 0, 1。 0, 1。 1,/span> 0。 0,/span> 1, 0, 0,
0, 0,, 0, 1, 0。 1, 1。 1, 0, 0。 0, 0, 0。 0, 0, 0。 1, 1)。 組=結構(c(1L。
1L, 1L。 1L, 1L。 1L, 1L。 1L, 1L。 1L, 1L。 1L, 1L。 1L, 1L。 1L, 1L, 1L,
1L,/span> 1L。 1L, 1L。 1L, 1L。 1L, 1L。 1L, 1L。 1L, 1L。 1L, 1L。 1L, 1L, 1L,
1L,/span> 1L。 1L, 1L。 1L, 1L。 1L, 1L。 2L, 2L。 2L, 2L。 2L, 2L。 2L, 2L, 2L,
2L,/span> 2L。 2L, 2L。 2L, 2L。 2L, 2L。 2L, 2L。 2L, 2L。 2L, 2L。 2L, 2L, 2L,
2L,/span> 2L。 2L, 2L。 2L, 2L, 2L, 2L, 2L。 2L, 2L。 2L, 2L。 2L), 。 標簽 = c("A",.
"B")。 class = "factor"))。 class = "data. frame",行。 names = c(NA,)
-79L))
以下是我用來制作圖表的代碼
ggplot(bar,/span> aes(pos。 val, fill= group))
geom_bar(stat = 'ident', 寬度= 1)
scale_y_continuous(trans=scales:: pseudo_log_trans(base = 10),
breaks=c(1。 10。 100, 1000, 10000, 100000)。 expand = c(0。 0),
)
scale_x_continuous()
minor_breaks = seq(0,/span> 100。 通過= 20),
突破= seq(0,/span> 100。 通過= 20)。 限制 = c(0。 100),
expansion = expansion(mult = c(0。 0)),
引導 = "axis_minor"
)
guides(x.sec = "axis_minor",y. sec = "axis_minor") 。
scale_fill_manual(values =alpha(c("grey"。 "red"), 。 3)) .
theme_bw()
主題()
面板。 border = element_rect(colour = "black"。 fill=NA, size=1),
plot.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.text.x.top = element_blank(),
axis.text.y.right = element_blank()
)
annotation_logticks(sides = "lr">)
uj5u.com熱心網友回復:
你可以在你的scale_y_continuous呼叫中使用plotmath運算式手動設定標簽。 例如,保持其他一切不變,但用
scale_y_continuous(trans=scales:: pseudo_log_trans(base = 10),
breaks=c(1。 10, 100。 1000,/span> 10000, 100000),
標簽 = 運算式(1。 10, 10^ 2, 10^3。 10^4。 10^5),
擴展 = c(0。 0))
而且你應該得到這樣一個情節:
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/318909.html
標籤:

