我正在自动创建一系列地块,每个地块都基于一类化学品(例如金属、多氯联苯等);出于我将省略的原因,我将图例绘制在绘图之外,并使用负值作为函数的inset
参数legend()
来执行此操作(例如,inset = c(-0.2, 0)
)。由于每个化学类别都需要不同的值,因此inset
我想使用该hash
包创建一个哈希表来存储每个化学类别所需的值。但是,为了将这些存储在哈希表中,我将值向量存储为字符串(例如,“c(-0.2, 0)”)。
我的哈希表代码如下所示:
legend.hash <- hash(chem.class, c('c(-0.2, 0)', 'c(-0.2, 0)', 'c(-0.25, -0.4)', 'c(-0.25, -0.3)', 'c(-0.2, 0)', 'c(-0.4, -0.2)', 'c(-0.2, 0)', 'c(-0.2, 0)'))
wherechem.class
是化学类别的向量。
从结果哈希表中检索值显然是一个字符串"c(-0.2, 0)"
,有没有一种方法可以转换这个文本字符串,以便 R 将其解释为一个可以使用如下的函数:legend(..., inset = legend.hash[[chem.class[i]]])
?
或者有没有更好的方法来使用传统的图形系统来实现这一点?