2015-11-06 89 views
1

我無法爲最後一個字幕(pm10)創建下標。我如何能夠利用下午並創建下標「10」。目前標題是pm10。如何在ggplot2的facet網格標題中使用下標

library(dlnm) 
library(ggplot2) 
library(reshape2) 
library(plyr) 
data <- chicagoNMMAPS 
data1<-data[c(1,7:9,13)] 
dmelt = melt(data1, id.vars = 'date') 


ggplot(dmelt, aes(x = date, y = value)) + 
geom_line() + 
theme_bw() + 
facet_wrap(~ variable, scales = 'free_y', ncol = 1)+ 
theme(strip.text.x = element_text(size=14,face="bold"), 
strip.background = element_rect(colour="")) + 
labs(x = "Date") + 
theme(axis.title=element_text(face="bold",size="14"),axis.text=element_text(size=14,face="bold")) + 
theme(#panel.grid.major = element_blank(), 
panel.grid.minor = element_blank(), 
strip.background = element_blank(), 
panel.border = element_rect(colour = "black")) 

回答

3

所以,你可以使用標籤功能來做到這一點。不幸的是,facet_wrap目前沒有這個,但facet_grid呢。

vnames <-list(
'death' = 'death', 
'cvd' = 'cvd', 
'resp' = 'resp', 
'pm10' = bquote(pm[10])) 

vlabeller <- function(variable,value){ 
    return(vnames[value]) 
} 

bquote是一種靈活的表達方式。更多可以找到here。你可以看到更多然後,只需改變原有facet_wrap功能如下:

facet_grid(variable~., scales = 'free_y', labeller = vlabeller) 

然而,它的出現比你想要的東西不同的一點。在這種情況下,你可以直接處理情節本身的元素,但它更麻煩。方法描述如下:https://stackoverflow.com/a/19298442/1362215