2
我想更改facet標籤,使得我在y軸上有希臘字母,在x軸上有正常文字。測試數據是:R希臘字母和R facet網格中facet標籤的正常字母
testdata<-data.frame(Method2=c("a","a","b","b"),
gamma=c(0,1,0,1),values=c(1,2,3,4),x=rep(1,4),y=rep(1,4))
testplot2<-ggplot(data=testdata,aes(x=Method2,y=gamma))
testplot2<-testplot2+facet_grid(gamma~Method2)
testplot2+geom_point()
到目前爲止,我已經嘗試了很多不同的充星座下面和我越來越絕望的寧: 1)與粘貼式數據幀更改名稱,我用label_parsed沒有太大的成功。
gamma<- factor(sapply(testdata$gamma, function(n){
if(n %in% c("0")) paste(expression(gamma),"0") else
if(n %in% c("1")) paste(expression(gamma),"1")
}), levels=c(paste(expression(gamma),"0"),
paste(expression(gamma),"1")
))
testdata$gamma <- gamma
2)我曾嘗試使用貼標機與
my.label_bquote <- function (expr1 = (gamma == .(x)),expr2 = x)
{
quoted1<- substitute(expr1)
function(variable, value) {
value <- as.character(value)
browser()
if(variable == gamma)
lapply(value, function(x) eval(substitute(bquote(expr1, list(x = x)),list(expr1 = quoted1))))
else if(variable == Method2){
value[value=="a"] <- "Whatever"
value[value=="b"] <- "Whatever2"
}
return(value)
}
}
這是一個變化的形式給出一個類似的問題之前回答的: Facet labels involving a greek symbol
將是感激任何幫助!
神奇的情節,太感謝你了!因爲我想要「伽馬= 1」,所以我有一個小題大做,這是另一個問題,我在第一個例子中已經有了。所以如果有人對此感興趣的話 – user3805780
如果你想在facet標籤中使用'gamma = 0/1',只需使用'get_label_swap(gamma = list(「0」= expression(gamma == 0),「1」= expression gamma == 1)))' – MrFlick
對不起,我無法完成我的評論,你更快。我寫了「表達式(gamma *」= 0.001「)」來繞過這個問題。無論如何非常感謝你,這太棒了! :) 你讓我今天一整天都感覺很好。 – user3805780