Как использовать одновременно верхний индекс и переменную в метке оси с ggplot2

r ggplot2 expression superscript

2704 просмотра

1 ответ

Я хотел бы использовать вместе переменную (здесь элемент вектора "тип") и блок, содержащий верхний индекс (здесь m ^ 2) внутри метки оси n.

data <- list(houses = data.frame(surface = c(450, 320, 280),
                                 price = c(12, 14, 6)),
            flats = data.frame(surface = c(45, 89, 63),
                               price = c(4, 6, 9))) 

Я добиваюсь отображения «m ^ 2» с помощью выражения,

for (type in c('houses', 'flats')){
  p <- ggplot(aes(x = surface, y = price), data = data[[type]]) +      
    geom_point() +
    xlab(expression(paste('surface of this type /', m^{2}))) 
}
p

но когда я пытаюсь добавить переменную в метку, следующее, конечно, не работает:

for (type in c('houses', 'flats')){
  p <- ggplot(aes(x = surface, y = price), data = data[[type]]) +      
    geom_point() +
    xlab(expression(paste('surface of ', type, '/', m^{2})))
}
p

У вас есть предложение?

Автор: fstevens Источник Размещён: 12.11.2019 09:25

Ответы (1)


11 плюса

Решение

Работает с bquote:

xlab(bquote('surface of' ~ .(type) ~ '/' ~ m^{2}))

введите описание изображения здесь

Автор: Sven Hohenstein Размещён: 15.11.2013 04:19
Вопросы из категории :
32x32