首页 > 解决方案 > 使用包含逗号的表达式编码多行图例

问题描述

我想找出一个有效的代码来在 R 图中生成多行图例,该图例粘贴在逗号后面的每个表达式中。

我尝试将 lapply 与 parse 一起使用,但未得到评估。

param_list <- list("None","Omega[0]","R[2]","Omega[0] and R[2]")

value <- list('10', '15', '20', '25')

legend("topleft", legend=lapply(param_list, function(x)
  parse(text=c(paste(param_list[x] ~ ', m = ' ~ value[x], sep='')))))

我想要一个传说:

None, m = 10

Omega[0], m = 15

R[2], m = 20

Omega[0] and R[2] = 25

对每个变量进行评估。有没有人有任何想法?对解决方案如何/为什么起作用的解释也将不胜感激!

标签: rplotlegend

解决方案


将两者都创建为向量,将它们粘贴在一起并解析。在逗号周围加上引号,并使用 * 和 ~ 将其与相邻符号分隔开来。

parms <- c("None","Omega[0]","R[2]","Omega[0] ~ and ~ R[2]")
value <- c(10, 15, 20, 25)

plot(0)
legend("topleft", parse(text = paste(parms, "* ',' ~ m == ", value)))

截屏


推荐阅读