【发布时间】:2021-07-24 14:27:06
【问题描述】:
我有一个数据集,其中包含一系列生物体按天和按小时进行的观察。
我想分别绘制每组观察结果。但是,如果在时间序列开始时没有观察到,它会将该时间从轴上截断(即,在第 1 天没有看到动物,所以轴从第 2 天开始) - 结果我的图有不同的轴。由于不同的原因,无论是 scale_y_discrete 还是 Continuous 工作。这看起来应该很容易。
df <- data.frame("day"= c(1, 1, 1, 2, 2, 2, 3, 3, 3),"hour" = c(1, 2, 3, 1, 2, 2, 1, 2, 3),"a" = c("Y", "Y", "N", "N", "N", "Y", "N", "N", "N"), "b" = c("N", "N", "Y", "N", "N", "Y", "Y", "N", "Y")) #example data
df %>%
pivot_longer(cols = a) %>%
filter(value == 'Y') %>% #I only want to display Y or positive observations
mutate(across(c(day, hour), factor)) %>%
ggplot() + aes(day, hour, color = name) + geom_point()
【问题讨论】:
-
你可以试试
expand_limits()? -
这能回答你的问题吗? ggplot2 keep unused levels barplot
标签: r ggplot2 data-visualization