我对R和ggplot2有些新意。我一直在尝试创建一个散点图,其中有一个特定点着色。例如,这是我的基本数据框
manager Confirmed Overturned keeping Stands total
A.J. Hinch 11 24 0 14 49
Angel Hernandez 0 1 0 0 1
Bill Miller 3 1 0 4 8
Bob Melvin 6 16 0 6 28
Brad Ausmus 3 11 0 13 27
有了这个,我可以使用这段代码
创建一个简单的散点图p <- ggplot(data = Outcome, aes(x = Overturned, y = total))
p + geom_point()
我知道如何添加一般颜色,并添加色标,但我不知道如何着色一个点。例如,让我们说我想给A.J.上色。 Hinch蓝色,并使每个其他点变成不同的颜色(可能是灰色或黑色),我该怎么做?
以下是我要在Tableau中创建的图表的链接。 https://public.tableau.com/profile/julien1554#!/vizhome/ManagerChallenges2014-2015/Sheet1
感谢所有帮助。
答案 0 :(得分:4)
您只需在绘图中添加另一个散点图图层。这是我使用的代码。希望它有所帮助!
> df = as.data.frame(cbind(Overturned = c(24,1,1,16,11), total = c(49,1,8,28,27)))
> library(ggplot2)
> p <- ggplot(data = df, aes(x = Overturned, y = total)) # creates the graph
> p + geom_point(data = df, color = "gray") + # creates main scatter plot with gray points
geom_point(data = df[1,], color = "blue") # colors A.J. Hinch's point blue
答案 1 :(得分:2)
请注意,我只是使用姓氏,因为当我从剪贴板读取数据时,它认为名字是行标签。
Outcome$color_me <- ifelse(Outcome$manager == "Hinch", "color_me", "normal")
textdf <- Outcome[Outcome$manager == "Hinch", ]
mycolors <- c("color_me" = "blue", "normal" = "grey50")
ggplot(data = Outcome, aes(x = Overturned, y = total)) +
geom_point(size = 3, aes(colour = color_me))
或使用手动定义的颜色:
ggplot(data = Outcome, aes(x = Overturned, y = total)) +
geom_point(size = 3, aes(colour = color_me)) +
scale_color_manual("Status", values = mycolors)