Mixing line and scatterplot in ggplot
ggplot2, r
Solution
As @MattBagg has pointed out, this issue is fixed by moving the `aes()` for colour out of the main `ggplot()` call and into the `geom_point()` call.
library(ggplot2)
allData = read.table(header=TRUE,
colClasses=c("Date", "numeric", "character", "numeric", "numeric"),
text="AnnounceDate MarketProbability DealStatus binary BrierScore
2000-04-10 0.3333333 Complete 1 0.2340565
2000-06-14 0.2142857 Complete 1 0.3618200
2000-06-26 0.6846154 Complete 1 0.3690167
2000-06-16 0.1875000 Complete 1 0.4364041
2000-10-05 0.9555556 Complete 1 0.3078432
2000-10-19 0.8500000 Complete 1 0.2670799")
p1 = ggplot(data=allData, aes(x=AnnounceDate)) +
geom_point(aes(y=MarketProbability, colour=DealStatus)) +
scale_colour_hue(h = c(180,0)) +
geom_line(aes(y=BrierScore))
ggsave(filename="plot_1.png", plot=p1, height=2.5, width=5)
Problem
I've looked around a fair bit but I am stumped on this one. I cannot find a way to plot a line that is unassociated with a scatterplot. Here is some of my data and code to clarify the problem. I have data of the following form ``` > head(allData) AnnounceDate MarketProbability DealStatus binary BrierScore 1 2000-04-10 0.3333333 Complete 1 0.2340565 2 2000-06-14 0.2142857 Complete 1 0.3618200 3 2000-06-26 0.6846154 Complete 1 0.3690167 4 2000-06-16 0.1875000 Complete 1 0.4364041 5 2000-10-05 0.9555556 Complete 1 0.3078432 6 2000-10-19 0.8500000 Complete 1 0.2670799 ``` I would like to create a scatter plot of the `MarketProbabilities` vs. the `AnnounceDate`, and identify whether a `DealStatus` is `Completed` or `Terminated` using colour. ``` (ggplot(data=allData, aes(x=AnnounceDate, y=MarketProbability, colour=DealStatus)) + geom_point() + scale_colour_hue(h = c(180,0))) ``` I would also like to overlay a rolling Brier score, I have tried ``` (ggplot(data=allData, aes(x=AnnounceDate, y=MarketProbability, colour=DealStatus)) + geom_point() + scale_colour_hue(h=c(180,0)) + geom_line(aes(x=AnnounceDate, y=BrierScore))) ``` I am confused why two coloured lines are plotted? How do I dissociate the line with the previous plotted data?