如何在ggplot2中利用命名查找向量反向映射设置坐标轴标签?
解决方案
你可以直接用ggplot2的labs()函数配合!!!语法复用你的lookup命名向量,一步完成坐标轴标签的映射:
df %>% ggplot(aes(x,y)) %>% geom_line() %>% labs(!!!lookup)
为什么这样可行
- 你的
lookup是命名向量:向量的名字(x、y)正好对应labs()函数里的坐标轴参数名,向量的值("X Column"、"Y Column")就是要显示的标签文本。 !!!语法会把命名向量拆成labs(x = "X Column", y = "Y Column")的形式,完美匹配需求。
备选方案(不用非标准求值)
如果不习惯!!!语法,也可以手动提取向量值设置标签:
df %>% ggplot(aes(x,y)) %>% geom_line() %>% labs(x = lookup["x"], y = lookup["y"])
内容的提问来源于stack exchange,提问作者Matthew Henderson
相关产品推荐
相关产品推荐

