10
我有一些y軸標籤,我希望所有的座標都相同。標籤由2個變量組成,我想將正確的間距放在左邊的變量左對齊,右邊的變量右對齊。我認爲這是一項微不足道的任務,事實上,在data.frame中使用stringi包中的字符串填充函數很容易。然而情節沒有理想的路線。左右對齊座標軸的文本間的精確間距
library(stringi)
library(tidyverse)
paster <- function(x, y, fill = ' '){
nx <- max(nchar(x))
ny <- max(nchar(y))
paste0(
stringi::stri_pad_right(x, nx, fill),
stringi::stri_pad_left(y, ny, fill)
)
}
plot_dat <- mtcars %>%
group_by(gear) %>%
summarize(
n = n(),
drat = mean(drat)
) %>%
mutate(
gear = case_when(
gear == 3 ~ 'three and free',
gear == 4 ~ 'four or more',
TRUE ~ 'five'
),
label = paster(gear, paste0(' (', n, ')'))
)
plot_dat
## # A tibble: 3 x 4
## gear n drat label
## <chr> <int> <dbl> <chr>
## 1 three and free 15 3.132667 three and free (15)
## 2 four or more 12 4.043333 four or more (12)
## 3 five 5 3.916000 five (5)
plot_dat %>%
ggplot(aes(x = drat, y = label)) +
geom_point()
給出:
我要的是:
[R ggplot中的左對齊刻度標記標籤]的可能重複(https://stackoverflow.com /問題/ 30510653 /左對齊蜱馬克-1 abel-in-r-ggplot) – neilfws
是的,我意識到所有這些問題的更仔細的閱讀:) – neilfws
不是你想要的,但可能使用'n'作爲主y軸和文本作爲[輔助y軸] (http://ggplot2.tidyverse.org/reference/sec_axis.html)?不是地塊上單聲道字體的大粉絲。 – zx8754