我正在嘗試使用ggplot2製作刻面的t-chart,其中x軸表示一系列事件,y軸表示這些事件之間的天數。 x軸應標有事件日期,但不是時間序列,因爲無論事件之間的實際時間如何,x軸刻度之間的距離應該均勻。使用第二個變量標記ggplot2刻面中的軸刻度
添加一個刻面圖令我感到困惑。下面是一些樣本數據:
df <- data.frame(EventDT = as.POSIXct(c("2014-11-22 07:41:00", "2015-02-24 08:10:00",
"2015-06-10 13:54:00", "2015-07-11 02:43:00",
"2015-08-31 19:08:00", "2014-11-18 14:06:00",
"2015-06-09 23:10:00", "2016-02-29 07:55:00",
"2016-05-22 04:30:00", "2016-05-25 21:46:00",
"2014-12-22 16:19:00", "2015-05-13 16:38:00",
"2015-06-01 09:05:00", "2016-02-21 02:30:00",
"2016-05-13 01:36:00")),
EventNBR = rep(1:5, 3),
Group = c(rep('A', 5), rep('B',5), rep('C',5)),
Y = c(15.818750, 94.020139, 106.238889, 30.534028, 51.684028,
187.670139, 203.377778, 264.364583, 82.857639, 3.719444,
169.829861, 142.013194, 18.685417, 264.725694,81.962500))
忽略事件的日期,我可以生產這樣的:
g <- ggplot(df, aes(x=EventNBR, y=Y)) +
geom_point() +
geom_line() +
facet_wrap(~ Group, scales='free_x')
Plot should show EventDT along X-axis, not EventNBR
我曾嘗試使用標籤參數沒有成功scale_x_discrete:
xaxis.ticks <- function(x) {
df[which(df$EventNBR) == x] }
g + scale_x_discrete(labels = xaxis.ticks)
但這是錯誤的方式,我無法描述,因爲因爲它完全切斷了我的刻度標籤。
由於此組數據集中EventNBR與EventDT之間存在1-1對應關係,因此似乎應該有一個簡單的解決方案,但我無法弄清楚。我可以俯視一些痛苦的事情嗎?
啊,我說話很快就解決這個。 EventDT列不是多面的,而是在三個方面逐字地再現,即,組B和C都標有組A的EventDT。 –
@f_lost不在我的情況。我會添加一張圖片和一個完整的例子。 – drmariod
謝謝,現在這個適合我。我昨天肯定會無意中改變了一些事情,讓我感到奇怪的行爲。 –