我的类别需要用希腊字母命名.我正在使用ggplot2它,它可以很好地处理数据.不幸的是,我无法弄清楚如何将这些希腊符号放在x轴(刻度线)上,并使它们出现在图例中.有什么办法吗?
更新:我看了一下链接,然而,没有很好的方法来描述我想要做的事情.
我想知道如何将facet标签更改为数学公式ggplot2.
d <- ggplot(diamonds, aes(carat, price, fill = ..density..)) +
xlim(0, 2) + stat_binhex(na.rm = TRUE) + opts(aspect.ratio = 1)
d + facet_wrap(~ color, ncol = 4)
Run Code Online (Sandbox Code Playgroud)

例如,我想将facet标签从Dto 更改为Y[1],其中1是下标.在此先感谢您的帮助.
我找到了这个答案,但它对我不起作用.我正在使用R 2.15.1和ggplot2 0.9.1.
我试图使用facet plot绘制数据子集.它是2列x4行图.第一列的值介于120和150之间,第二列的值介于180和250之间,变量在数据文件中指定为较小或较大.我在向列变量("Lesser","Greater")添加特定标签('120 <=希腊符号(alpha)<= 150','180 <=希腊符号(alpha)<= 250)时遇到问题.我尝试这样做:
require(graphics)
library(ggplot2)
hp <- ggplot2(data) + ....
xlow <- paste("120 <", expression(alpha), " < 150")
xhi <- paste("180 <", expression(alpha), " < 250")
mf_labeller <- function(var, value){
value <- as.character(value)
if (var=="regime") {
value[value=="Lesser"] <- xlow
value[value=="Greater"] <- xhi
}
return(value)
}
(hp %+% data) + facet_grid(param~regime, scales="free", labeller=mf_labeller)
Run Code Online (Sandbox Code Playgroud)
我得到"错误值=="更大":表达式不允许比较".我也尝试过强制数据.如果我以任何方式进行标记:
data2 <- transform(data, regime = factor(regime, levels=c("Lesser", "Greater"), labels=c(expression(paste("120 <", alpha," < 150")), expression("180 < alpha < 250"))))
Run Code Online (Sandbox Code Playgroud)
我逐字逐句地得到了整个表达式,而不是所需的情节.我可能会遗漏一些东西.任何帮助真的很感激!! 先感谢您..
我的样本摘录如下:
regime,param,line,XX,Var,sner
Lesser,Rise,VII,AA,4.968624,0.1275248
Lesser,Rise,VII,BB,3.719405,0.08470305 …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用ggplot2(v。2_2.2.1)创建一个图facet_wrap,并且我只需要在一个构面标签(五个之中)中具有希腊符号。我试图使用这里在堆栈溢出中发布的代码:
但没有成功(getGrob无法正常工作,对于mf_labeller也是如此)。
有人可以帮我吗?
这是示例代码:
df <- data.frame(genes = rep(c("BA","MLL","pos","neg","PMLalpha+"),5), value = sample(1:100, 25, replace=TRUE))
df$genes <- factor(df$genes, levels = c("BA","MLL","pos","neg","PMLalpha+"), ordered = TRUE)
ggplot(df,aes(x=genes, y=value)) + geom_boxplot()+
facet_wrap(~genes, ncol = 5,scales = "free_x")+
scale_x_discrete(name="",
breaks = c("BA","MLL","pos","neg","PMLalpha+"),
labels = c("BA","MLL","pos","neg",expression(paste("PML", alpha,"+"))))
Run Code Online (Sandbox Code Playgroud)
我能够重命名x轴刻度线,但是我无法在构面标签中执行此操作。