Я изо всех сил пытаюсь получить диаграмму ggplot, которая включает 2 вещи:
- фасетку, которая разделяет данные на каждую дату
- Сохраняет относительную шкалу оси X относительнотолько часы и минуты (ЧЧ: ММ), и сохраняет шкалу оси X между каждой диаграммой переноса фасетов одинаковой ширины.(т. е. 10:00 появляется в одной и той же позиции на каждой фазовой диаграмме)
- период времени этих диаграмм составляет менее 24 часов, охватывает только 9:00 - 16:00
Все, что я пробовалчтобы получить удобочитаемые метки на оси х, внутри непрерывной переменной «время» возникают огромные промежутки, что, по-видимому, связано с тем, что даты также включаются за кулисы.
Это мой текущий код, который производит фасет, который мне нужен, но имеет нечитаемую ось X.
ggplot(mydata2, aes(x=time, y=pending, color=server, group=date)) +
geom_point() +
facet_wrap(~ date)
> class(mydata2$time)
[1] "character"
Я пробовал библиотеку hms.но ggplot, похоже, не знает, что с этим делать.
mydata2$time2 <- lubridate::hms(mydata2$time)
mydata2$time2
[1] "14H 5M 23S" "14H 5M 23S" "14H 5M 42S" "14H 5M 42S" "14H 6M 24S" "14H 6M 24S"
[7] "14H 6M 42S" "14H 6M 42S" .... etc.
Но попытка наметить это не удалась, ниже приведен пустой график ...
ggplot(mydata2, aes(x=time2, y=pending, color=server, group=tradedate)) +
geom_point() +
facet_wrap(~ tradedate)
Warning messages:
1: Removed 7390 rows containing missing values (geom_point).
Как мне достичь двух целей, перечисленных выше?