我想在我的箱線圖上顯示每個物種的樣本量,但情節相當混亂。有沒有辦法以“N”作為標題在繪圖的“外部”顯示樣本量(樣本量應該在我突出顯示的紅色區域中)?
df <- data.frame(year = rep(c(2019, 2020), each = 10),
month = rep(c("March", "October"), each = 1),
site = rep(c("1", "2", "3", "4", "5"), each = 2),
type = rep(c("baitfish", "shark"), each = 1),
salinity = sample(x = 20:35, size = 20, replace = TRUE),
num = sample(x = 0:10, size = 20, replace = TRUE))
count_by_row <- data.frame(df[rep(row.names(df), df$num), 1:5])
ggplot(data=subset(count_by_row, !is.na(salinity)), aes(x = reorder(type, -salinity, FUN = median), y = salinity))
geom_boxplot(outlier.shape = 1, outlier.size = 2)
coord_flip()
xlab("")
ylab("salinity (PSU)")
uj5u.com熱心網友回復:
您可以在增加右邊距后添加自定義注釋:
ggplot(data=subset(count_by_row, !is.na(salinity)),
aes(y = reorder(type, -salinity, FUN = median), x = salinity))
geom_boxplot(outlier.shape = 1, outlier.size = 2, orientation = "y")
coord_cartesian(clip = "off")
annotation_custom(grid::textGrob(c("N", table(count_by_row$type)),
x = 1.1, y = c(0.9, 0.28, 0.72),
gp = grid::gpar(cex = 1.5)))
ylab("")
xlab("salinity (PSU)")
theme_bw(base_size = 20)
theme(plot.margin = margin(20, 100, 20, 20))
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/491037.html