При использовании R для построения трех строк с легендой, которая сочетает выражения и символьные переменные, я написал, например:
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 в сценарий легенды? Я пробовал много способов, таких как
no1.
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, он больше не работает:
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" ))
)
)
Любые отличные идеи? Спасибо заранее!