2017-10-27 5 views
0

ggplot2(v2.2.2.1)ファセットラップを使用してプロットを作成しようとしていますが、ギリシャシンボルは1つのファセットラベル(5つのうちの1つ)にする必要があります。私はここでstackoverflowに投稿されたコードを使用しようとしました: example 1example 2example 3 (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,"+")))) 

私はx軸の目盛りの名前を変更することができるよ、私はちょうどファセットラベル内にそれを行うことはできません。申し訳ありませんが明らかな場合、私は夢中になっています... アドバイスと助けてくれてありがとう!

答えて

0

ここではlabeller=label_parsedを使用するトリックです。

まず、解析されるように式を使用することdf$genesのラベルを定義します。

df$genes <- factor(df$genes, levels = c("BA","MLL","pos","neg","PMLalpha+"), ordered = TRUE, labels=c("BA","MLL","pos","neg",expression(paste("PML", alpha,"+")))) 

その後facet_wraplabeller=label_parsedを使用します。

ggplot(df,aes(x=genes, y=value)) + geom_boxplot()+ 
    facet_wrap(~genes, ncol = 5, scales = "free_x", labeller = label_parsed) 

あなたは、これは、x軸のラベルを台無しに見ることができるようにただし、次のようにscale_x_discreteに修正することができます。

ggplot(df,aes(x=genes, y=value)) + geom_boxplot()+ 
    facet_wrap(~genes, ncol = 5, scales = "free_x", labeller = label_parsed) + 
    scale_x_discrete(name="", 
       breaks = c("BA","MLL","pos","neg","paste(\"PML\", alpha, \"+\")"), 
       labels = c("BA","MLL","pos","neg", expression(paste("PML", alpha,"+")))) 

enter image description here

関連する問題