2016-08-20 2 views
1

私は14の異なる期間からなるデータを持っています。期間があります。私はplotのような製品に上記のコードを使用していたが、現在は新しいレポートでは、私は黒と白のスキームを使用することができます異なる色R:異なる時間間隔(線を含む線)の間の明白な区別を持つ線図をプロットする方法

mycolors = c(brewer.pal(name="Set2", n = 7), brewer.pal(name="Set2", n = 7)) 
ggplot(derv, aes(x=Date, y=derv, colour = Season)) + 
geom_point() + 
geom_abline(intercept = 0, slope = 0) + 
geom_abline(intercept = neg.cut, slope = 0) + 
geom_abline(intercept = pos.cut, slope = 0) + 
scale_color_manual(values = mycolors) + ggtitle(" Derivative")+ylab("Derivative") 

enter image description here

を使用して、これを達成するために使用されます。だから私はどのように私はRのようなプロットをプロットすることができますか疑問に思っています。私は14種類の時間帯の交互の線の種類を使用すると思ったが、私はggplotを通じて達成する方法はありません。私は次のコードを試してみましたが、動作しません。ラインの種類はそのままです。あなたはどこの季節の変化を示すために必要がある場合は

ggplot(derv, aes(x=Date, y=derv)) + 
    geom_line() + 
    geom_abline(intercept = 0, slope = 0) + 
    geom_abline(intercept = neg.cut, slope = 0) + 
    geom_abline(intercept = pos.cut, slope = 0) + 
    #scale_color_manual(values = mycolors) + ggtitle("S&P 500 (Smoothed) Derivative") + ylab("Derivative")+ 
    scale_linetype_manual(values = c("dashed","solid","dashed","solid","dashed","solid","dashed", 
           "solid","dashed","solid","dashed","solid","dashed","solid")) 
+0

あなたは、再現性の例を共有してくださいすることができますか? – mtoto

+0

'Season'の値、つまり' ggplot(derv、aes(x = Date、y = derv、linetype = Season)) 'の値に線種の美学を設定する必要があります。 –

答えて

1

、あなただけの交流線種または交互ポイントマーカーを使用することができませんでしたか?以下の2つの例を参照してください。さまざまなポイントマーカーと線種で遊んで、あなたが望む外観を得ることができます。線種の作成の詳細については、this SO answerを参照してください。追加のポイントマーカーについては、hereおよびhereを参照してください(pchで利用可能な標準のものを超えて)。私はまた、少ないコードで3つの水平線を追加する方法を含んでいます。

# Fake data 
x = seq(0,2*pi,length.out=20*14) 
dat=data.frame(time=x, y=sin(x) + sin(5*x) + cos(2*x) + cos(7*x), 
       group=0:(length(x)-1) %/% 20) 

ggplot(dat, aes(time, y)) + 
    geom_hline(yintercept=c(-0.5,0,0.5), colour="grey50") + 
    geom_point(aes(shape=factor(group), size=factor(group))) + 
    scale_shape_manual(values=rep(c(3,15),7)) + 
    scale_size_manual(values=rep(c(2,1.5),7)) + 
    theme_bw() + guides(shape=FALSE, size=FALSE) 

ggplot(dat, aes(time, y, linetype=factor(group))) + 
    geom_hline(yintercept=c(-0.5,0,0.5), colour="grey50") + 
    geom_line(size=0.8) + 
    scale_linetype_manual(values=rep(1:2,7)) + 
    theme_bw() + guides(linetype=FALSE) 

enter image description here

関連する問題