繁体   English   中英

ggplot2中的动态图例标签

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM