2013-11-15 12 views
5

Tôi muốn sử dụng cùng một biến (ở đây là phần tử vector "type") và một đơn vị có chứa một superscript (ở đây m^2) bên trong n trục nhãn.Làm thế nào để sử dụng đồng thời superscript và biến trong một nhãn trục với ggplot2

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))) 

tôi đạt được để hiển thị "m^2" sử dụng một biểu thức,

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 

nhưng khi tôi cố gắng thêm biến trong nhãn, sau đây, tất nhiên, không hoạt động:

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 

Bạn có đề xuất không?

Trả lời

9

Nó hoạt động với bquote:

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

enter image description here

Các vấn đề liên quan