我无法为最后一个字幕(pm10)创建下标。如何将pm大写并创建下标“10”。目前标题是pm10。
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"))
答案 0 :(得分: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