2016-10-05 17 views
0

サンプルデータをスプライン補間:各ファセットについてプロットデータと凡例

x <- seq(0, 1, by = 0.1) 
y <- c(1, 2.1, 3, 2, 1, 0, -3, -2, 0, 0.5, 1) 
xpred <- seq(0, 1, by = 0.01) 
ypred <- spline(x, y, xout = xpred)$y 
y1 <- y + runif(length(y)) 
ypred1 <- spline(x, y1, xout = xpred)$y 
nx <- length(x) 
nxpred <- length(xpred) 
foo <- data.frame(x = c(x, xpred, x, xpred), y =c(y, ypred, y1, ypred1), 
     type = rep(c(rep("data", times = nx), rep("spline", times = nxpred))), 
     experiment = rep(c("A", "B"), each = nx + nxpred)) 

は、私は、データ用の青色点、及びスプライン補間のための赤い実線を使用してデータをプロットしたいです。また、 "データ"と "スプライン"というエントリを持つ素敵な伝説を得たいと思います。伝説は明らかにすべてのファセットで同じです。

library(dplyr) 
library(ggplot2) 
ggplot(data = filter(foo, type =="spline"), aes(x=x, y=y)) + 
geom_line(color = "tomato") + 
geom_point(data = filter(foo, type =="data"), color ="blue") + 
facet_wrap(~ experiment, labeller = "label_both") 

enter image description here

どのように凡例を追加することができます。私は、ポイントやラインをプロットすることができますよ!

答えて

1
ggplot(data = filter(foo, type =="spline"), aes(x=x, y=y)) + 
    geom_line(aes(color = "Spline")) + 
    geom_point(data = filter(foo, type =="data"), aes(color ="Data")) + 
    facet_wrap(~ experiment, labeller = "label_both")+ 
    scale_colour_manual(name="Legend",values=c("blue","tomato")) 

あなたがあなたのaes()の色を持っている必要があります凡例をしたい場合。
エースで私は凡例に表示される名前を(あなたに合ったものとして)設定しました。 scale_colour_manualで
私はこのような

0

何かがあなたのために働く必要がある色(青とトマト)を定義します。

ggplot(data=foo) + 
geom_point(data=foo[foo$type=='data',], aes(x, y), col='red') + 
geom_line(data=foo[foo$type=='spline',], aes(x, y), col='blue') + 
facet_wrap(~experiment) 

enter image description here