R matplot的ggplot版本
我一直在研究数据集的数据可视化 我发现了一个基线图版本,可以让我直观地看到治疗前后的效果 我想知道这个情节是否有ggplot版本R matplot的ggplot版本,r,ggplot2,R,Ggplot2,我一直在研究数据集的数据可视化 我发现了一个基线图版本,可以让我直观地看到治疗前后的效果 我想知道这个情节是否有ggplot版本 > dput(data) structure(list(ID = c("far001", "far002", "far003", "far004", "far005", "far006", "far007", "far008", "far009", "far010"), HBA1Cpre = c(7, 8, 7.5, 9, 8.1, 7.9, 7.3
> dput(data)
structure(list(ID = c("far001", "far002", "far003", "far004",
"far005", "far006", "far007", "far008", "far009", "far010"),
HBA1Cpre = c(7, 8, 7.5, 9, 8.1, 7.9, 7.3, 7.4, 7.8, 7.1),
HBA1Cpost = c(6.5, 6.6, 6.8, 7, 6.3, 6.9, 6.7, 7.1, 7, 6.5
)), row.names = c(NA, -10L), class = c("tbl_df", "tbl", "data.frame"
))
这里有两种方法 1使用geom_段指定每个点的起点和终点,起点为geom_点,终点为另一个geom_点
library(ggplot2)
ggplot(data, aes(x = "HBA1Cpre", xend = "HBA1Cpost",
y = HBA1Cpre, yend = HBA1Cpost)) +
geom_segment() +
geom_point() +
geom_point(aes(x = "HBA1Cpost", y = HBA1Cpost)) +
scale_x_discrete(limits = c("HBA1Cpre", "HBA1Cpost"))
2做一点重塑,将数据放在更长的形式,然后将时间状态映射到x。这里有一个额外的步骤,使时间状态成为一个因素,因此它可以以非字母顺序显示。也可以通过像上面那样操纵scale_x_离散来实现
library(dplyr)
data %>%
pivot_longer(-ID, names_to = "time", values_to = "val") %>%
mutate(time = factor(time, levels = c("HBA1Cpre", "HBA1Cpost"))) %>%
ggplot(aes(x = time, y = val, group = ID)) +
geom_line() +
geom_point()
library(dplyr)
data %>%
pivot_longer(-ID, names_to = "time", values_to = "val") %>%
mutate(time = factor(time, levels = c("HBA1Cpre", "HBA1Cpost"))) %>%
ggplot(aes(x = time, y = val, group = ID)) +
geom_line() +
geom_point()