Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为R图的多个图例使用下标和变量_R_Plot_Environment Variables_Legend_Subscript - Fatal编程技术网

为R图的多个图例使用下标和变量

为R图的多个图例使用下标和变量,r,plot,environment-variables,legend,subscript,R,Plot,Environment Variables,Legend,Subscript,我的目标是在我的图例中有多行类似于此格式的代码,Nsubscript(M),Nsubscript(F)。下标将用于我的图例速记。需要对变量进行求值以获得数值。如何使用下标和变量制作多行图例 我需要多个BQUOTE才能工作。下面的格式是我想要的图例部分的格式 #this works N_male<-4#random variable N_female<-6#random variable plot(x=2,y=3)#random plot legend("topright",leg

我的目标是在我的图例中有多行类似于此格式的代码,Nsubscript(M),Nsubscript(F)。下标将用于我的图例速记。需要对变量进行求值以获得数值。如何使用下标和变量制作多行图例

我需要多个BQUOTE才能工作。下面的格式是我想要的图例部分的格式

#this works 
N_male<-4#random variable
N_female<-6#random variable 
plot(x=2,y=3)#random plot
legend("topright",legend=bquote('N'['F']*' = '*.( N_female)),
text.col="black",box.col=0, bty="n", cex = .75, lty= c(2)) #this legend has 
#correct syntax
#这很有效
N_male这很有效

plot(x=2,y=3)
legend("topright",legend=c(expression(paste('N'[M], ' = ', 4)),
                           expression(paste('N'[F], ' = ', 6))),
       text.col="black",box.col=0, bty="n", cex = .75, lty= c(1,2)) 

我测试了其他方法。似乎在
lengend
中同时使用变量和下标是不可能的。等待高手的回答

您需要在
c
调用中使用
as.expression
bquote

my.expressions <-c(as.expression(bquote('N'['F']*' = '*.( N_female))),as.expression(bquote('N'['M']*' = '*.( N_male))) )

N_male<-4#random variable
N_female<-6#random variable
plot(x=2,y=3)#random plot
legend("topright",legend=my.expressions,
text.col="black",box.col=0, bty="n", cex = .75, lty= c(2:3))

my.expressions@venyao如何让代码计算N_个男性和N_个女性变量?我的代码具有生成N_个男性和N_个女性变量的函数,因此它需要能够更新/更改。我确实测试了我的代码。我添加了一些评论以使其更清楚。N_Male我怎么给变量下标?我有一个变化的下标,它包含在一个变量中。例如,我的标题应该是Q500,其中500可以更改为另一个数字,如100、20等。我如何确保订阅500和其他数字?基本上,未订阅的表达式是bquote(“Q”~(T))。我希望将值为30100500 1000等的。(T)作为下标返回。不要编辑问题标题以包含对问题状态的评论。如果某个答案解决了您的问题,请单击它旁边的复选标记,该问题将自动标记为“已解决”。@P Lapointe您怎么知道该怎么办?我在这方面花了不少时间,我的解决方案是多次调用“legend”,每行一个。
my.expressions <-c(as.expression(bquote('N'['F']*' = '*.( N_female))),as.expression(bquote('N'['M']*' = '*.( N_male))) )

N_male<-4#random variable
N_female<-6#random variable
plot(x=2,y=3)#random plot
legend("topright",legend=my.expressions,
text.col="black",box.col=0, bty="n", cex = .75, lty= c(2:3))