我定义了一个用于存储图例标签的数据结构,如下所示(因为我想生成一行中包含不同数据和不同标签的多重图)。
legendlabels <- data.frame(
'stadtland'=c("Core City\n(Agglomeration)","Municipality\n(Agglomeration)", "Isolated City", "Rural\nMunicipality"),
stringsAsFactors=FALSE)
现在,当我在legendlabels
中使用ggplot
时,
... +
scale_colour_hue(name="Type",
breaks=as.factor(c(1:4)),
labels=legendlabels['stadtland'],
l=65) +
...
图例仅显示4个不同标签的“1”,“2”,“3”,“4”。但是,当我直接(动态地)插入向量时,字符串会正确显示:
... +
scale_colour_hue(name="Type",
breaks=as.factor(c(1:4)),
labels=c("Core City\n(Agglomeration)","Municipality\n(Agglomeration)", "Isolated City", "Rural\nMunicipality"),
l=65) +
...
我该如何替换它?
答案 0 :(得分:3)
正如我在评论中提到的那样,
labels=legendlabels['stadtland']
将返回长度为1的列表,而不是您要查找的原子向量。相反,您想使用[[
:
labels=legendlabels[['stadtland']]
从列表中返回名为stadtland
的元素(数据框是列表)legendlabels
。