无需在data.frame中添加额外的列,是否有内置的方法来突出显示最小/最大条形?在下面的示例中,我希望Joe栏为绿色(最大),John栏为红色(最小)。
我敢肯定这已经被问过了,但是在搜索时找不到:
data= data.frame( Name = c("Joe","Jane", "John") , Value = c(3,2,1) )
ggplot(data=data)+geom_bar(aes_string(x="Name",y="Value"), stat="identity" )
Run Code Online (Sandbox Code Playgroud)
您可以使用子设置:
p <- ggplot(data=data)+
geom_bar(aes(x=Name, y=Value), stat="identity") +
geom_bar(data=subset(data, Value==min(Value)), aes(Name, Value),
fill="red", stat="identity") +
geom_bar(data=subset(data, Value==max(Value)), aes(Name, Value),
fill="green", stat="identity")
print(p)
Run Code Online (Sandbox Code Playgroud)
