我正在嘗試在 r 中復制由 graphpad 繪制的圖,但我在更改 y 軸時遇到問題,這是一個示例資料和我的繪圖代碼:
library(ggplot2)
data <- data.frame(names = rep(factor(LETTERS[1:3])),
values = c(0.001, 0.02 ,0.95),
group = rep("A",3))
ggplot(data,
aes(x = group,
y = values,
fill = names)) geom_bar(stat = "identity", position='stack')
scale_y_continuous(breaks = c(0.001,0.01,0.1,1), labels=c(0.001,0.01,0.1,1))
我的代碼結果在頂部,但我想像底部的影像一樣繪制它。


uj5u.com熱心網友回復:
您可以將這些值轉換為它們的對數,然后添加一個使所有對數值大于 0 的常數。然后適當地重新標記軸:
data2 <- data %>%
mutate(logvalues = log10(values) - min(log10(0.0001)))
ggplot(data2[order(-data2$logvalues),],
aes(x = group, y = logvalues, fill = names))
geom_col(position = 'identity')
scale_y_continuous(breaks = 0:4, labels = ~ 10^(.x-4))

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/482169.html
上一篇:在R中繪制輪子(餅圖)圖
