R を使用して、式と文字変数を組み合わせた凡例で 3 つの線をプロットする場合、たとえば次のように書きました。
b1<-2
c1<-3
d1<-4
a<-seq(1,10)
b<-a+b1
c<-a+c1
d<-a+d1
plot(NA
,axes = FALSE
,xlim=c(0,10)
,ylim=c(0,15)
)
box()
lines(a,b,col=1)
lines(a,c,col=2)
lines(a,d,col=3)
legend(8,2
,c(expression(paste(italic(b)[1],"=2","m"))
,expression(paste(italic(c)[1],"=3","m"))
,expression(paste(italic(d)[1],"=4","m"))
)
)
上記のスクリプトは、私が望む凡例を正確に生成しますが、値 b1、c1、および d1 はスクリプトでハードコードされています。
変数 b1、c1、および d1 を凡例スクリプトに入れる方法はありますか? 私は多くの方法を試しました。
いいえ1。
b2<-as.character(b1)
legend(6,2
,c(expression(paste(italic(b)[1],b2,"m"))
,expression(paste(italic(c)[1],"=3","m"))
,expression(paste(italic(d)[1],"=4","m"))
)
)
no2.
legend(4,2
,c(bquote(paste(italic(b) [1], "=",.(b1),"m" ))
,expression(paste(italic(c)[1],"=3","m"))
,expression(paste(italic(d)[1],"=4","m"))
)
)
これは最初の行で機能しますが、bquote で 3 行を作成すると、機能しなくなります。
legend(2,2
,c(bquote(paste(italic(b) [1], "=",.(b1),"m" ))
,bquote(paste(italic(b) [1], "=",.(b1),"m" ))
,bquote(paste(italic(b) [1], "=",.(b1),"m" ))
)
)
素晴らしいアイデアはありますか?よろしくお願いします!