2016-07-28 10 views
0

Ich möchte zwei ggplot barchart nebeneinander in einem Diagramm kombinieren:ggplot geom_bar in einem Diagramm die Kombination

ggplot(data, aes(Year,lossratio1)) + geom_bar(stat="identity", colour="blue", fill="blue") 

ggplot(data, aes(Year, lossratio2) + geom_bar(stat="identity", colour="red", fill="red") 

Hinweis:

  • x-Achse ist die year
  • y- Achse ist lossratio1 und lossratio2.

Die Balkenfüllung folgt der lossratio.

+7

Bitte, einige Daten zeigen, zum Beispiel. mit 'dput (head (data, 10))'. Aber ich denke, es gibt bereits eine Antwort, siehe diesen Beitrag zum Beispiel: http://stackoverflow.com/questions/18158461/grouped-bar-plot-in-ggplot – Jimbou

+0

Jahr = c (2010,2011,2012,2013,2014 , 2015,2016) Verlustquote1 = c (0,5,0,6,0,7,0,8,0,9,0,95,1) Verlustquote2 = (0,6,0,65,0,7,0,75,0,8,0,85,0,9) data = data.frame (Year, lossratio1, lossratio2) Der Plot, wenn ich dies benutze: ggplot (Daten) + geom_bar (aes (Jahr, verlustdauer1), Daten, stat = "Identität", Farbe = "blau", fill = "blau) + geom_bar (aes (Jahr, Verlustquote2), data, stat = "identity", color = "rot", fill = "red"). Dies ergibt ein Diagramm, in dem die überlappenden Bereiche rot sind. Wo sollte ich die Position = "dodge" setzen? – user6648245

Antwort

0

Sie müssen zuerst Ihre Daten schmelzen, dann können Sie Position = „ausweichen“, etwa so:

library(reshape) 
data.m <- melt(data, id.vars='Year') 

ggplot(data.m, aes(Year, value)) + geom_bar(aes(fill = variable), position = "dodge", stat="identity")