2012-01-24 13 views
2

私は、式を含む長いラベルを持つプロットを2行に分割したいと思います。
式の中に "\ n"を追加すると、結果が期待どおりになりません。式での軸ラベルの分割

ylabel <- expression("A very long label with text and \n 
expression"*(alpha+beta) [ij]*" A very long label with text and expression") 
curve(x^3 - 3*x, -2, 2, xlab=xlabel) 

助けてください。おかげでggplot2については

答えて

7

ここでは@AndresTが彼の編集で行ったようにatopに頼って、別のソリューションです。 \nのような制御文字を式に使用できないことに注意してください。なぜなら、expression(paste("...\n", alpha[i], "...."))のようなものを使用すると、目的の出力が生成されない理由が説明されます。私は、x目盛りとの衝突を回避するためにsubの代わりxlabを使用

xlabel <- expression(atop("A very long label with text and expression", 
          paste((alpha+beta)[ij], " A very long label ..."))) 
curve(x^3 - 3*x, -2, 2, sub=xlabel, xlab="") 

注意。

enter image description here

4
plot(1:10, ann = FALSE) 
mtext(side = 2, text = "Y Axis", line = 3) 
mtext(side = 2, text = "and something extra", line = 2) 

enter image description here

set.seed(124) 
data1 = data.frame(x=1:10,y=rnorm(10,1)) 

colnames(data1) = c("X", "Y") 
theme = theme_set(theme_bw()) 

# atop is the function to use in order to get two lines 

xlab = expression(atop(paste("x Axis"), 
      "More text")) 
ylab = expression(atop(paste("y Axis"), 
       "Two lines")) 




    ggplot(data1, aes(x = X, y = Y))+ 
      geom_point(shape = 1, color ="black") + 
       xlab(xlab) + 
       ylab(ylab) 


#And adjust the margins with opts. 
+0

感謝のandRest! ggplot2グラフの同様のトリックを見つけることは可能ですか? –

+0

(+1) 'mtext'と' atop'をうまく使います。 – chl

+1

と 'ggplot2'を使用すると、[' tableGrob'](https://groups.google.com/d/msg/ggplot2/JVqyio0tvhQ/4kJUKbrIdJcJ) – baptiste

0

ggplot2の例ライン:

ylab(expression(atop(paste(italic("Saxifraga tridactylites")), 
"individuals per plot")))+ 
関連する問題