Skip to content

Commit 838b447

Browse files
committed
more carefullyl extract margins
1 parent e925263 commit 838b447

File tree

4 files changed

+12
-10
lines changed

4 files changed

+12
-10
lines changed

R/guide-axis-theta.R

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ GuideAxisTheta <- ggproto(
154154
}
155155

156156
offset <- max(unit(0, "pt"), elements$major_length, elements$minor_length)
157-
elements$offset <- offset + max(elements$text@margin %||% unit(0, "pt"))
157+
elements$offset <- offset + max(try_prop(elements$text, "margin", default = unit(0, "pt")))
158158
elements
159159
},
160160

@@ -281,7 +281,7 @@ GuideAxisTheta <- ggproto(
281281
angle <- key$theta + deg2rad(angle)
282282

283283
# Set margin
284-
margin <- rep(max(elements$text@margin), length.out = 4)
284+
margin <- rep(max(try_prop(elements$text, "margin", default = unit(0, "pt"))), length.out = 4)
285285

286286
# Measure size of each individual label
287287
single_labels <- lapply(labels, function(lab) {

R/guide-axis.R

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -616,8 +616,8 @@ label_angle_heuristic <- function(element, position, angle) {
616616
hjust <- switch(position, left = cosine, right = 1 - cosine, top = 1 - sine, sine)
617617
vjust <- switch(position, left = 1 - sine, right = sine, top = 1 - cosine, cosine)
618618

619-
element@angle <- angle %||% element@angle
620-
element@hjust <- hjust %||% element@hjust
621-
element@vjust <- vjust %||% element@vjust
619+
element@angle <- angle %||% try_prop(element, "angle")
620+
element@hjust <- hjust %||% try_prop(element, "hjust")
621+
element@vjust <- vjust %||% try_prop(element, "vjust")
622622
element
623623
}

R/guide-legend.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ GuideLegend <- ggproto(
326326
# Resolve title. The trick here is to override the main text element, so
327327
# that any settings declared in `legend.title` will be honoured but we have
328328
# custom defaults for the guide.
329-
margin <- calc_element("text", theme)@margin
329+
margin <- try_prop(calc_element("text", theme), "margin")
330330
title <- theme(text = element_text(
331331
hjust = 0, vjust = 0.5,
332332
margin = position_margin(title_position, margin, gap)

R/plot-build.R

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -412,21 +412,23 @@ table_add_tag <- function(table, label, theme) {
412412

413413
if (location %in% c("plot", "panel")) {
414414
if (!is.numeric(position)) {
415+
hjust <- try_prop(element, "hjust", default = 0.5)
415416
if (right || left) {
416-
x <- (1 - element@hjust) * width
417+
x <- (1 - hjust) * width
417418
if (right) {
418419
x <- unit(1, "npc") - x
419420
}
420421
} else {
421-
x <- unit(element@hjust, "npc")
422+
x <- unit(hjust, "npc")
422423
}
423424
if (top || bottom) {
424-
y <- (1 - element@vjust) * height
425+
vjust <- try_prop(element, "vjust", default = 0.5)
426+
y <- (1 - vjust) * height
425427
if (top) {
426428
y <- unit(1, "npc") - y
427429
}
428430
} else {
429-
y <- unit(element@vjust, "npc")
431+
y <- unit(vjust, "npc")
430432
}
431433
} else {
432434
x <- unit(position[1], "npc")

0 commit comments

Comments
 (0)