r - 如何为同一数据框中的不同组创建单独的折线图?
问题描述
我有一个数据集 df,我想生成单独的折线图,但在同一页面中为每个唯一 ID 生成 x 轴上的日期和 y 轴上的值。原因是每个 ID 的值范围都不同,如果我把它放在同一个图表中,我将无法看到所有 ID 的线。
dput(df)
structure(list(ID = c("F1", "F1", "F1", "F1", "F1", "F1", "F1",
"F2", "F2", "F2", "F2", "F2", "F2", "F2", "F2", "F3", "F3", "F3",
"F3", "F3", "F3", "F3", "F3", "F3", "F4", "F4", "F4", "F4", "F4",
"F4", "F4", "F4"), Date = c("22/6/2021", "23/6/2021", "24/6/2021",
"25/6/2021", "26/6/2021", "27/6/2021", "28/6/2021", "22/6/2021",
"23/6/2021", "24/6/2021", "25/6/2021", "26/6/2021", "27/6/2021",
"28/6/2021", "29/6/2021", "22/6/2021", "23/6/2021", "24/6/2021",
"25/6/2021", "26/6/2021", "27/6/2021", "28/6/2021", "29/6/2021",
"30/6/2021", "22/6/2021", "23/6/2021", "24/6/2021", "25/6/2021",
"26/6/2021", "27/6/2021", "28/6/2021", "29/6/2021"), Values = c(9.6,
9.8, 10.2, 9.8, 9.9, 9.9, 9.9, 1.2, 1.2, 1.8, 1.5, 1.5, 1.6,
1.4, 1.1, 3266, 3256, 7044, 6868, 6556, 3405, 3410, 3980, 5567,
59.4, 56, 52.8, 52.4, 55.5, 54, 61, 53.6)), class = "data.frame", row.names = c(NA,
-32L))
这是一个包含所有 ID 线条的折线图。我正在尝试为每个 ID 创建不同的折线图
ggplot(data = df, aes(x = factor(Date), y = Values, color = ID)) +
geom_line(aes(group = ID)) + geom_point()
解决方案
利用facet_wrap
ggplot(data = df, aes(x = factor(Date), y = Values, color = ID)) +
geom_line(aes(group = ID)) + geom_point() +
facet_wrap(~ID, scales = 'free_y')
创建您自己的订单
ggplot(data = df, aes(x = factor(Date), y = Values, color = ID)) +
geom_line(aes(group = ID)) + geom_point() +
facet_wrap(~factor(ID,
levels=c("F1", "F2", "F3", "F4")),
scales = 'free_y')
推荐阅读
- javascript - 如何过滤 Kendo Grid 数据
- r - 按组有效填充 NA
- c# - Windows 窗体 - 如何获取列表框的垂直滚动条?
- javascript - 如何在保持 .toFixed(2) 的同时创建 jQuery 千位分隔符
- git - diff 和 show 的不同 git 寻呼机选项
- php - 导入 Prestashop 产品 1.6 到 1.7 的问题
- javascript - 获取表单上锚链接标签的 id 并提交到后端
- python - 在 Python 中调用自定义对象的主要方法
- c - 使用指针在递归函数中创建计数器?
- ssas - DAX:如何在 SSAS 表格模型中实现 CREATE MEMBER MDX 函数