|
5 | 5 | # @param position of axis (top, bottom, left or right)
|
6 | 6 | # @param range of data values
|
7 | 7 | guide_axis <- function(at, labels, position = "right", theme) {
|
8 |
| - if (length(at) == 0) |
9 |
| - return(zeroGrob()) |
10 |
| - |
11 |
| - at <- unit(at, "native") |
| 8 | + line <- switch(position, |
| 9 | + top = element_render(theme, "axis.line.x.top", c(0, 1), c(0, 0), id.lengths = 2), |
| 10 | + bottom = element_render(theme, "axis.line.x.bottom", c(0, 1), c(1, 1), id.lengths = 2), |
| 11 | + right = element_render(theme, "axis.line.y.right", c(0, 0), c(0, 1), id.lengths = 2), |
| 12 | + left = element_render(theme, "axis.line.y.left", c(1, 1), c(0, 1), id.lengths = 2) |
| 13 | + ) |
12 | 14 | position <- match.arg(position, c("top", "bottom", "right", "left"))
|
13 | 15 |
|
14 | 16 | zero <- unit(0, "npc")
|
15 | 17 | one <- unit(1, "npc")
|
16 | 18 |
|
| 19 | + if (length(at) == 0) { |
| 20 | + vertical <- position %in% c("left", "right") |
| 21 | + return(absoluteGrob( |
| 22 | + gList(line), |
| 23 | + width = if (vertical) zero else one, |
| 24 | + height = if (vertical) one else zero |
| 25 | + )) |
| 26 | + } |
| 27 | + |
| 28 | + at <- unit(at, "native") |
| 29 | + |
17 | 30 | theme$axis.ticks.length.x.bottom <- with(
|
18 | 31 | theme,
|
19 | 32 | axis.ticks.length.x.bottom %||%
|
@@ -71,12 +84,7 @@ guide_axis <- function(at, labels, position = "right", theme) {
|
71 | 84 | right = ,
|
72 | 85 | left = element_render(theme, label_render, labels, y = label_y, margin_x = TRUE))
|
73 | 86 |
|
74 |
| - line <- switch(position, |
75 |
| - top = element_render(theme, "axis.line.x.top", c(0, 1), c(0, 0), id.lengths = 2), |
76 |
| - bottom = element_render(theme, "axis.line.x.bottom", c(0, 1), c(1, 1), id.lengths = 2), |
77 |
| - right = element_render(theme, "axis.line.y.right", c(0, 0), c(0, 1), id.lengths = 2), |
78 |
| - left = element_render(theme, "axis.line.y.left", c(1, 1), c(0, 1), id.lengths = 2) |
79 |
| - ) |
| 87 | + |
80 | 88 |
|
81 | 89 | nticks <- length(at)
|
82 | 90 |
|
|
0 commit comments