如何在 ggplot2 中使用 line/block 分隔制作连续图
How to make continous plots with line/block separations in ggplot2
我融化的数据框包含 Msrt_Order
、Sample_Intensity
、rtc
、Group
和 Msrt_Day
。
我想沿着 Msrt_Order(测量顺序,从 1 到 1000+)绘制样本强度峰值图
ggplot(peak) + geom_jitter(aes(x = Msrt_Order, y = Sample_Intensity, color = rtc, shape=rtc), alpha = 0.6)
我想根据 msrt_Day(measurement_day 和 Msrt_Order 的顺序将它们分开,让它变得更好,但不是 1000+ 因素,只有 24天,因为我们每天测量 40 多个样本。)
我不想要的是这个
ggplot(peak) + geom_jitter(aes(x = Msrt_Order, y = Sample_Intensity, color = Msrt_Day, shape=rtc), alpha = 0.6)
因为有24个,所以很难区分,我也不想要图例中的24个图标。
我尝试使用 facet_grid
ggplot(peak) + geom_jitter(aes(x = Msrt_Order, y = Sample_Intensity, color = rtc, shape=rtc), alpha = 0.6) + facet_grid(~Msrt_Day)
但这不是我所期望的,我想要一个由 Mrst_Day 分隔的 24 个块的连续图,同时保持 Msrt_Order.
希望你们明白我的想法...
峰值 csv link 在这里 peak.csv
我想你想要做的是使用 x 轴值 Msrt_Order
.
添加一个或多个描述 Msrt_Day
边界的变量
这是一种尝试:按 Msrt_Day
分组并将边界定义为每组 Msrt_Order
的最大值。然后您可以将该值用于 geom_vline
.
peak %>%
group_by(Msrt_Day) %>%
mutate(orderMax = max(Msrt_Order) %>%
ungroup() %>%
ggplot(aes(Msrt_Order, Sample_Intensity)) +
geom_point(aes(color = rtc)) +
geom_vline(aes(xintercept = orderMax)) +
theme_bw()
结果:
我融化的数据框包含 Msrt_Order
、Sample_Intensity
、rtc
、Group
和 Msrt_Day
。
我想沿着 Msrt_Order(测量顺序,从 1 到 1000+)绘制样本强度峰值图
ggplot(peak) + geom_jitter(aes(x = Msrt_Order, y = Sample_Intensity, color = rtc, shape=rtc), alpha = 0.6)
我想根据 msrt_Day(measurement_day 和 Msrt_Order 的顺序将它们分开,让它变得更好,但不是 1000+ 因素,只有 24天,因为我们每天测量 40 多个样本。)
我不想要的是这个
ggplot(peak) + geom_jitter(aes(x = Msrt_Order, y = Sample_Intensity, color = Msrt_Day, shape=rtc), alpha = 0.6)
因为有24个,所以很难区分,我也不想要图例中的24个图标。
我尝试使用 facet_grid
ggplot(peak) + geom_jitter(aes(x = Msrt_Order, y = Sample_Intensity, color = rtc, shape=rtc), alpha = 0.6) + facet_grid(~Msrt_Day)
希望你们明白我的想法...
峰值 csv link 在这里 peak.csv
我想你想要做的是使用 x 轴值 Msrt_Order
.
Msrt_Day
边界的变量
这是一种尝试:按 Msrt_Day
分组并将边界定义为每组 Msrt_Order
的最大值。然后您可以将该值用于 geom_vline
.
peak %>%
group_by(Msrt_Day) %>%
mutate(orderMax = max(Msrt_Order) %>%
ungroup() %>%
ggplot(aes(Msrt_Order, Sample_Intensity)) +
geom_point(aes(color = rtc)) +
geom_vline(aes(xintercept = orderMax)) +
theme_bw()
结果: