【发布时间】:2021-04-11 19:22:30
【问题描述】:
我还是 ggplot2 的新手。我想从我的昆虫便便实验中绘制数据:x 值是一天中的时间(24 小时),y 值是产生的便便量(frass),以百分比形式表示并表示为圆形图。我添加了 geom_ribbon 来表示我用圆形计算的标准偏差。首先,我遇到了从 1/24 而不是 0/24 开始的“时钟”问题:
ggplot2 时钟从 1/24 而不是 0/24 开始:
所以我添加了代码expand_limits(x = 0, y = 0),它有助于将 1/24 固定为 0/24,但现在 0/24 和 1 之间存在差距:
ggplot2 时钟从 0/24 开始但有空格:
谁能帮我连接数据/删除这些时间之间的空白。
这是我使用的代码:
b <- ggplot(dat, aes(x = TIME, y = Percentage)) +
geom_ribbon(aes(ymin = Percentage - 1.19651, ymax = Percentage + 1.19651), fill = "grey70", alpha = 0.2) +
geom_line() +
theme_minimal() +
coord_polar(start = 0) +
scale_y_continuous(breaks = seq(0, 10, by = 2)) +
scale_x_continuous(breaks = seq(0, 24, by = 1), expand = c(0, 0)) +
ylab("Frass production %") +
xlab("") +
geom_vline(xintercept = 6.30, color = "red", linetype = "dashed") +
geom_vline(xintercept = 20.3, color = "red", linetype = "dashed")
b + expand_limits(x = 0, y = 0)
数据
structure(list(Number = 1:24, TIME = 1:24, Average = c(0.08, 0.08, 0.05, 0.03, 0.02, 0.03, 0.03, 0.02, 0.02, 0.02, 0.01, 0.01, 0, 0.01, 0.01, 0.01, 0.02, 0.05, 0.06, 0.06, 0.09, 0.1, 0.09, 0.08), Percentage = c(8, 8, 5, 3, 2, 3, 3, 2, 2, 2, 1, 1, 0, 1, 1, 1, 2, 5, 6, 6, 9, 10, 9, 8), Light = structure(c(1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L), .Label = c("DARK", "LIGHT"), class = "factor")), row.names = c(NA, -24L), class = "data.frame")
提前谢谢你!
【问题讨论】:
-
这将有助于查看您的输入数据。请将
dput(dat)的输出添加到您的问题中。
标签: r ggplot2 time polar-coordinates