我正在努力获取包含2件东西的ggplot图表:
为了使x轴上的标签清晰易读,我尝试进行的所有操作都会使连续的“时间”变量在其中具有巨大的空隙,这似乎是因为日期也被包含在幕后。
这是我当前的代码,可以完美生成我需要的小平面包装,但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).
我如何实现上面列出的两个目标?
答案 0 :(得分:0)
我无法重现该问题。可以看看是否有帮助?否则,请以代码形式发布数据样本。
set.seed(1234)
df <-
tibble(
timestamp = seq(
ymd_hms("2019-01-01 00:00:00"),
ymd_hms("2019-01-04 00:00:00"), by = "1000 sec"
),
tradedate = as.Date(timestamp),
hms = hms::hms(as.numeric(timestamp - floor_date(timestamp, "1 day"), unit="secs"))
) %>%
mutate(
pending = sample(11:20, size = n(), replace = TRUE)
)
ggplot(df, aes(x = hms, y = pending, color = factor(tradedate))) +
geom_point() +
facet_grid(tradedate~.)