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