2017-11-19 3 views
0

Ich habe einen Datenrahmen mit zwei kategorischen Variablen namens verifiziert und Verfahren.ggplot2() Balkendiagramm Füllung Argument

Ich würde gerne ein Balkendiagramm mit Verfahren auf der X-Achse, und die entsprechenden Prozentsätze statt Zählungen auf der Y-Achse. Außerdem möchte ich überprüft haben, dass es die Füllung der Bars ist.

Das Problem ist, dass, wenn ich versucht habe mit dem Füll-Argument es nicht funktioniert hat. Mein aktueller Code bringt mir Balken, die alle grau sind mit einer schwarzen Linie (trotz des Fehlens eines Füllarguments scheint die schwarze Linie die Ebenen von verifiziert anzuzeigen ???). Stattdessen möchte ich die Ebenen in verschiedenen Farben haben.

Danke!

Ausgangspunkt (df):

df <- data.frame(verified=c("small","large","small","small","large","small","small","large","small"),procedure=c(1,2,1,2,1,2,2,2,2)) 

aktuelle Code:

library(dplyr) 
library(gglot2) 
df %>% 
    count(procedure,verified) %>% 
    mutate(prop = round((n/sum(n))*100),2) %>% 
    group_by(procedure) %>% 
    ggplot(aes(x = procedure, y = prop)) + 
    geom_bar(stat = "identity",colour="black") 

Antwort

1

nur fill = verified zu Ihrem ersten hinzufügen aes oder in Ihrem geom_bar

# common elements 
g_df <- df %>% 
    count(procedure, verified) %>% 
    mutate(prop = round((n/sum(n)) * 100), 2) %>% 
    group_by(procedure) 

# fill added to initial aes 
g1 <- ggplot(g_df, aes(x = procedure, y = prop, fill = verified)) + 
    geom_bar(stat = "identity", colour = "black") 

# fill added to geom_bar 
g2 <- ggplot(aes(x = procedure, y = prop)) + 
    geom_bar(aes(fill = verified), stat = "identity", colour = "black") 

Beide g1 und g2 produzieren das gleichen Grundstück unterhalb

enter image description here

wie von eipi10 in den Kommentaren zu meiner Antwort, könnten Sie die xaxis, indem es eine factor, die eine Modifikation des Codes unter aufzuräumen.

df %>% 
    count(procedure, verified) %>% 
    mutate(prop = n/sum(n)) %>% 
    ggplot(aes(x = factor(procedure), y = prop, fill = verified)) + 
    geom_bar(stat = "identity", colour = "black") + 
    labs(x = "procedure", y = "percent") 

zu produzieren

enter image description here

Verwandte Themen