I'm not sure what you really would like to build, but from position="fill" I get the impression that you want to build the relative proportions of the Metric per year. This can be done easily using the following steps.
Data loading:
DF <- dput(DF) structure(list(Year = c(2003L, 2004L, 2005L, 2006L, 2007L, 2008L, 2009L, 2010L, 2011L, 2012L, 2013L, 2014L, 2015L, 2003L, 2004L, 2005L, 2006L, 2007L, 2008L, 2009L, 2010L, 2011L, 2012L, 2013L, 2014L, 2015L, 2003L, 2004L, 2005L, 2006L, 2007L, 2008L, 2009L, 2010L, 2011L, 2012L, 2013L, 2014L, 2015L, 2003L, 2004L, 2005L, 2006L, 2007L, 2008L, 2009L, 2010L, 2011L, 2012L, 2013L, 2014L, 2015L), Metric = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), .Label = c("Demand", "High", "Low", "Actual"), class = "factor"), MWh = c(498343L, 1250904L, 1665176L, 2317643L, 2455311L, 3557987L, 4268125L, 5403704L, 6596158L, 7814387L, 9008863L, 10291085L, 11796549L, 159677L, 192748L, 248844L, 372661L, 705656L, 838721L, 1188242L, 1708979L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 3631730L, 5729024L, 6741785L, 9342798L, 11094798L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1637220L, 1850615L, 2064011L, 2277406L, 2490801L)), .Names = c("Year", "Metric", "MWh"), row.names = c(NA, -52L), class = "data.frame")
And build stacked stripes with the same height (with percentages):
ggplot(DF,aes(x=factor(Year),y=MWh,fill=factor(Metric))) + geom_bar(position="fill")

I could have misunderstood what you want to build, as well as build two different graphs on the same picture with the grid viewports. I recommend looking at the gridextra package, especially for arrange .