@@ -223,8 +223,11 @@ scale_y_datetime <- function(name = waiver(),
223
223
# ' @rdname scale_date
224
224
scale_x_time <- function (name = waiver(),
225
225
breaks = waiver(),
226
+ date_breaks = waiver(),
226
227
minor_breaks = waiver(),
228
+ date_minor_breaks = waiver(),
227
229
labels = waiver(),
230
+ date_labels = waiver(),
228
231
limits = NULL ,
229
232
expand = waiver(),
230
233
oob = censor ,
@@ -233,29 +236,37 @@ scale_x_time <- function(name = waiver(),
233
236
position = " bottom" ,
234
237
sec.axis = waiver()) {
235
238
236
- scale_x_continuous(
239
+ sc <- datetime_scale(
240
+ ggplot_global $ x_aes ,
241
+ " hms" ,
237
242
name = name ,
243
+ palette = identity ,
238
244
breaks = breaks ,
245
+ date_breaks = date_breaks ,
239
246
labels = labels ,
247
+ date_labels = date_labels ,
240
248
minor_breaks = minor_breaks ,
249
+ date_minor_breaks = date_minor_breaks ,
250
+ guide = guide ,
241
251
limits = limits ,
242
252
expand = expand ,
243
253
oob = oob ,
244
- na.value = na.value ,
245
- guide = guide ,
246
- position = position ,
247
- transform = scales :: transform_hms(),
248
- sec.axis = sec.axis
254
+ position = position
249
255
)
256
+
257
+ set_sec_axis(sec.axis , sc )
250
258
}
251
259
252
260
253
261
# ' @rdname scale_date
254
262
# ' @export
255
263
scale_y_time <- function (name = waiver(),
256
264
breaks = waiver(),
265
+ date_breaks = waiver(),
257
266
minor_breaks = waiver(),
267
+ date_minor_breaks = waiver(),
258
268
labels = waiver(),
269
+ date_labels = waiver(),
259
270
limits = NULL ,
260
271
expand = waiver(),
261
272
oob = censor ,
@@ -264,20 +275,25 @@ scale_y_time <- function(name = waiver(),
264
275
position = " left" ,
265
276
sec.axis = waiver()) {
266
277
267
- scale_y_continuous(
278
+ sc <- datetime_scale(
279
+ ggplot_global $ y_aes ,
280
+ " hms" ,
268
281
name = name ,
282
+ palette = identity ,
269
283
breaks = breaks ,
284
+ date_breaks = date_breaks ,
270
285
labels = labels ,
286
+ date_labels = date_labels ,
271
287
minor_breaks = minor_breaks ,
288
+ date_minor_breaks = date_minor_breaks ,
289
+ guide = guide ,
272
290
limits = limits ,
273
291
expand = expand ,
274
292
oob = oob ,
275
- na.value = na.value ,
276
- guide = guide ,
277
- position = position ,
278
- transform = scales :: transform_hms(),
279
- sec.axis = sec.axis
293
+ position = position
280
294
)
295
+
296
+ set_sec_axis(sec.axis , sc )
281
297
}
282
298
283
299
# ' Date/time scale constructor
@@ -312,9 +328,13 @@ datetime_scale <- function(aesthetics, transform, trans = deprecated(),
312
328
}
313
329
if (! is.waiver(date_labels )) {
314
330
check_string(date_labels )
315
- labels <- function (self , x ) {
316
- tz <- self $ timezone %|| % " UTC"
317
- label_date(date_labels , tz )(x )
331
+ if (transform == " hms" ) {
332
+ labels <- label_time(date_labels )
333
+ } else {
334
+ labels <- function (self , x ) {
335
+ tz <- self $ timezone %|| % " UTC"
336
+ label_date(date_labels , tz )(x )
337
+ }
318
338
}
319
339
}
320
340
@@ -324,15 +344,17 @@ datetime_scale <- function(aesthetics, transform, trans = deprecated(),
324
344
scale_class <- switch (
325
345
transform ,
326
346
date = ScaleContinuousDate ,
327
- time = ScaleContinuousDatetime
347
+ time = ScaleContinuousDatetime ,
348
+ ScaleContinuousPosition
328
349
)
329
350
} else {
330
351
scale_class <- ScaleContinuous
331
352
}
332
353
333
354
transform <- switch (transform ,
334
355
date = transform_date(),
335
- time = transform_time(timezone )
356
+ time = transform_time(timezone ),
357
+ hms = transform_hms()
336
358
)
337
359
338
360
sc <- continuous_scale(
0 commit comments