【发布时间】:2023-04-09 18:04:01
【问题描述】:
我是 R 新手,我在 R 中有一个 data.table,如下所示:
> dt <- data.table(category = rep(c("0001", "0002", "0003"), c(10,3,4)),
grp = c("01", "03", "04", "06", "81", "82", "83", "84", "85", "86",
"01", "02", "03",
"01", "02", "03", "04"),
min_date = c("2012-04-18", "2012-04-18", "2012-04-23", "2012-04-10", "2012-04-05",
"2012-04-13", "2012-04-10", "2012-04-07", "2012-04-19", "2012-04-05",
"2012-04-04", "2012-04-06", "2012-04-25", "2012-04-19", "2012-04-05",
"2012-04-26", "2012-04-27"),
max_date = c("2012-05-23", "2012-05-19", "2012-05-19", "2012-04-24", "2012-05-23",
"2012-05-09", "2012-05-19", "2012-05-24", "2012-05-22", "2012-05-23",
"2012-05-12", "2012-05-11", "2012-05-17", "2012-05-22", "2012-05-22",
"2012-05-19", "2012-05-17"),
hours_played = c(426, 381, 318, 168, 583, 314, 477, 568, 398, 582, 458, 429, 268,
395, 568, 276, 238))
> dt
category grp min_date max_date hours_played
1: 0001 01 2012-04-18 2012-05-23 426
2: 0001 03 2012-04-18 2012-05-19 381
3: 0001 04 2012-04-23 2012-05-19 318
4: 0001 06 2012-04-10 2012-04-24 168
5: 0001 81 2012-04-05 2012-05-23 583
6: 0001 82 2012-04-13 2012-05-09 314
7: 0001 83 2012-04-10 2012-05-19 477
8: 0001 84 2012-04-07 2012-05-24 568
9: 0001 85 2012-04-19 2012-05-22 398
10: 0001 86 2012-04-05 2012-05-23 582
11: 0002 01 2012-04-04 2012-05-12 458
12: 0002 02 2012-04-06 2012-05-11 429
13: 0002 03 2012-04-25 2012-05-17 268
14: 0003 01 2012-04-19 2012-05-22 395
15: 0003 02 2012-04-05 2012-05-22 568
16: 0003 03 2012-04-26 2012-05-19 276
17: 0003 04 2012-04-27 2012-05-17 238
我想创建一个可视化以显示每个组 grp 处于活动状态的范围以及相应的 hours_played 。应该有一个功能可以从下拉列表中选择category。
从可用类别的下拉列表中选择一个类别时,图表应显示属于该类别的所有组都处于活动状态的日期范围,以及该类别旁边/内部的播放小时数。时间轴必须是X轴,时间范围可以是10天。
类似这样:我的绘画技巧很差,但只是想知道我想要什么。
我如何在 R 中做到这一点。
【问题讨论】:
-
谁能帮忙,我是 R 新手,所以不太了解图形。
-
标准图形无法实现“选择类别”的功能(它们只是图像)。这可以使用 Shiny 来实现。我会使用方面。一会儿提交答案
-
谢谢,甘特图也有帮助
-
我需要选择类别的功能,因为原始数据中有 1000 多个类别
标签: r plot ggplot2 plotly ggvis