嗨,我在尝试仅显示某些子集的标签时遇到了美学错误。例如。
library("ggplot2")
library(gplots)
library(ggrepel)
set.seed(10)
data <- data.frame(label=letters[1:21], number= runif(21, min=0, max=100))
data$label <-factor(data$label)
ggplot(data, aes(x=label, y=number, fill=data$label )) +
geom_bar(stat="identity") +
geom_text_repel(data= data[data$number > 80,], aes(label =data$label ),
arrow = arrow(length = unit(0.01, 'npc')), box.padding = unit(1.5, 'lines'),color="black" )
当我这样做时,我收到以下错误
Error: Aesthetics must be either length 1 or the same as the data (2): label, x, y, fill
即使我用向量替换标签,例如c("label1","label2")
我仍然会收到错误消息。
我做错了什么,但我无法弄清楚。我能做到这一点的唯一方法是创建一个具有相同长度的单独向量并将其用作标签,但是我认为有一种方法可以直接进行子集化。谢谢!