R ggplot自定义标签轴刻度线与其他变量

时间:2019-05-27 18:27:01

标签: r ggplot2

当标记轴打勾时,我想在括号中添加来自数据框的其他信息。例如,使用下面的代码段,我想自动将Area上的信息包括在标签X旁边的括号中。换句话说,标签可能会说“芝加哥(45)”,而不仅仅是“芝加哥”。我知道我可以通过在scale_x_discrete中设置标签来手动完成此操作。但是,我可以自动执行此操作吗?我的数据集包含大量条目,因此我想避免手动执行此操作。

dataset <- data.frame(Area = sample(c(NA, 1:100), 3, rep = TRUE),
                      Y = rnorm(3), X = c("Chicago","New York", "Orlando"))
ggplot(dataset, aes(X, Y)) + geom_point()

1 个答案:

答案 0 :(得分:1)

您可以使用所需的刻度标签建立新列:

library(dyplr)
library(stringr)
library(ggplot2)
dataset = dataset %>% mutate(label = str_c(X, " (", Area, ")"))

然后在美学中使用列标签

ggplot(dataset, aes(label, Y)) + geom_point()