我正在尝试制作ggplot(在Shiny中):我有一些浓度-时间数据需要可视化。用户可以选择为图中的不同组着色,例如,"物种"、"抗体"等。但是,我也希望他们看到每个ID的不同浓度-时间图,因此,我实际上想要实现的是,数据按"物种"着色,但每个个体的数据点是相连的。
我可以给你一个数据集的例子:
dfc <- data.frame(
ID = c(1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4),
Conc = c(4, 3.5, 3, 1, 5, 4.5, 4, 2, 3, 2.5, 2, 1, 6, 5.5, 5, 4),
Time = c(0.15, 1, 2, 3, 0.15, 1, 2, 3, 0.15, 1, 2, 3, 0.15, 1, 2, 3),
Species= c("Monkey", "Monkey", "Monkey", "Monkey", "Monkey", "Monkey", "Monkey", "Monkey", "Mouse", "Mouse","Mouse","Mouse","Mouse","Mouse","Mouse","Mouse"))
我正在开发一个很大的应用程序,所以我不会用所有的代码来打扰你,但是现在这只是一些简单的事情。我尝试的是这样的:
plot <- ggplot() + geom_point(dfc, mapping=aes(Time, Conc, col = Species)) + geom_line(dfc, mapping=aes("ID"))
plot
很明显,这是行不通的,我也不知道该怎么做。我希望有人能帮助我,因为我觉得答案很简单,但我现在想不出来。
1条答案
按热度按时间13z8s7eq1#
您可以在
geom_line
中使用group
通过ID连接点,如下所示:创建于2023年2月1日,使用reprex v2.0.2