我自動創建了一系列基於一類化學品(如金屬,多氯聯苯等)的圖表;出於原因,我將忽略掉,我將圖例繪製在繪圖之外,並使用legend()
函數的inset
參數的負值來完成此操作(例如,inset = c(-0.2, 0)
)。由於每個化學類別對inset
都要求不同的值,所以我想用hash
包創建一個哈希表來存儲每個化學類所需的值。然而,爲了將這些存儲在散列表中,我將值的向量存儲爲一個字符串(例如「c(-0.2,0)」)。在R中顯示一個字符串作爲函數R
我對哈希表的代碼如下所示: 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)'))
其中chem.class
是化工類的載體。
從得到的哈希表中檢索值顯然是字符串,有沒有一種方法可以轉換這個文本字符串,以便R將它解釋爲可以像下面這樣使用的函數:legend(..., inset = legend.hash[[chem.class[i]]])
?
或者有沒有更好的方式來實現這一點使用傳統的圖形系統?
爲什麼你不能簡單地使用一個列表? – joran
我很想看到一個例子,你*真的需要多個插值來繪製圖例。這可能比這更簡單。 – baptiste
圖例中的項目數量和項目長度在整個系列圖中顯着變化(範圍從1到超過40個項目)。保持每個小區的插圖相同,導致圖例延伸超過頁邊距。 – sinclairjesse