2016-09-09 7 views
2

färben Ich bin etwas neu zu R und ggplot2. Ich habe versucht, ein Streudiagramm zu erstellen, bei dem ein bestimmter Punkt farbig ist. Zum Beispiel, hier ist mein GrunddatenrahmenEinen bestimmten Punkt in einem Streudiagramm in R

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 

Damit habe ich ein einfaches Scatterplot mit diesem Code erstellen kann,

p <- ggplot(data = Outcome, aes(x = Overturned, y = total)) 
p + geom_point() 

Ich weiß, wie allgemeine Farbe hinzuzufügen, und eine Farbskala hinzufügen, aber Ich weiß nicht, wie man nur einen Punkt einfärbt. Nehmen wir zum Beispiel an, ich wollte A.J. Hinch blau, und jeden anderen Punkt anders färben (wahrscheinlich grau oder schwarz), wie würde ich das machen?

Hier ist ein Link zu dem Diagramm, das ich in Tableau erstellen möchte. https://public.tableau.com/profile/julien1554#!/vizhome/ManagerChallenges2014-2015/Sheet1

Alle Hilfe ist dankbar, danke.

+0

Es scheint, wie Sie eine Spalte mit zwei Ebenen erstellen möchten. Eine für "A.J. Hinch' und der andere für den Rest. Sie können die Spalte verwenden, um Farben anzugeben. – jazzurro

+0

'ggplot (df, aes (x = Umgewandelt, y = gesamt, color = manager == 'AJ Hinch')) + geom_point (show.legend = FALSE) + scale_color_manual (Werte = c ('grau', 'blau'))) ' – alistaire

Antwort

4

Sie würden nur eine weitere Streudiagramm Schicht zu Ihrem Grundstück hinzuzufügen. Hier ist der Code, den ich verwendet habe. Ich hoffe es hilft!

> 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 

Hier ist der resultierende Graph: enter image description here

2

Beachten Sie, dass ich nur den Nachnamen verwende, denn wenn ich Ihre Daten aus der Zwischenablage gelesen habe, dachte ich, die Vornamen wären Zeilenbezeichnungen.

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)) 

enter image description here

oder mit der manuell definierten Farbe:

ggplot(data = Outcome, aes(x = Overturned, y = total)) + 
    geom_point(size = 3, aes(colour = color_me)) + 
    scale_color_manual("Status", values = mycolors) 

enter image description here

Verwandte Themen