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

Я хотел бы использовать вместе переменную (здесь элемент вектора «тип») и единицу, содержащую верхний индекс (здесь 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

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


person fstevens    schedule 15.11.2013    source источник


Ответы (1)


Работает с bquote:

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

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

person Sven Hohenstein    schedule 15.11.2013