2017-03-28 9 views
1

という凡例の名前だけが斜体で表示されているプロットに凡例を追加したい。私はしかし、私はイタリック体のラインが変数の番号が含まれていることを必要とするので、私はbquoteを使用し、ベースR.中plot()ベースRプロットで凡例の名前をイタリックにする方法はありますか?

  • を使用しています。

私が試したことは動作しません:私は(RIGHT LEGEND)独自に表現を残したときに、それが正しく斜体こと

a <- 2 ; b <- 5 
    plot(a,b) 
    l1 <- bquote(Italic ~ .(a) + .(b)) 
    l2 <- bquote(a + b) 
    legend(x='topright',legend = bquote(italic(.(l1)))) 
    legend(x='topleft',legend = c(bquote(italic(.(l1))),l2)) 
  • お知らせ。しかし、私が他の凡例の行にテキストを追加すると、それが崩れてしまいます(LEFT LEGEND)。

enter image description here

私はこれを適切にどのように行うのですか?

注:でない場合は、legend()を複数回呼び出す必要があります。

答えて

2

あなたはtext.font = 3を使用することができ、言う:

legend(x='topleft',legend = c(bquote((.(l1))),l2), text.font=c(3,1)) 
+1

あなたの例を変更するには。私の答えに編集。 text.font = c(3、NA)でもうまくいきます。 –

+0

素晴らしい!あなたの編集したソリューションはトリックです!ありがとう!私は他の人が夜の残りのアイデアを提案するかどうかを確認するのを待つが、誰もしなければあなたの解決策を受け入れるだろう。 – theforestecologist

3

あなたが表現オブジェクトにすべてを強制するためにas.expressionを使用する必要があります。

a <- 2 
b <- 5 
plot(a,b) 
legend("topleft", legend = c(as.expression(bquote(italic("Italic: "*.(a)*" + "*.(b)))), 
    as.expression(bquote("Non Italic: "*.(a)*" + "*.(b))))) 

あなたはイタリック体の欲しいもののラインを指定するtext.fontの=のC(3,1)を使用し、その後

a <- 2 
b <- 5 
plot(a,b) 
l1 <- bquote(Italic ~ .(a) + .(b)) 
l2 <- bquote(a + b) 
legend("topleft", legend = c(as.expression(bquote(italic(.(l1)))), 
          as.expression(bquote(.(l2))))) 
+1

少し忙しいですが、これは素晴らしいことです!ありがとう、@ d.b。 :) – theforestecologist

関連する問題