[英]Dynamic legend labels in ggplot2
我定义了一个用于存储图例标签的数据结构,如下所示(因为我想生成具有不同数据和连续不同标签的多重图)。
legendlabels <- data.frame(
'stadtland'=c("Core City\n(Agglomeration)","Municipality\n(Agglomeration)", "Isolated City", "Rural\nMunicipality"),
stringsAsFactors=FALSE)
现在,当我像这样在ggplot
使用legendlabels
时,
... +
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) +
...
我该如何替代呢?
正如我在评论中提到的那样,
labels=legendlabels['stadtland']
将返回长度为1的列表,而不是您要查找的原子向量。 相反,您想使用[[
:
labels=legendlabels[['stadtland']]
它从列表(数据框为列表) legendlabels
返回名为stadtland
的元素 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.