我有一个由14个不同时间段组成的数据,我希望以一种观察者可以看到14个时期所在位置的方式进行绘制。我曾经通过使用不同的颜色实现这一目标
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")
我已经使用上面的代码来制作情节但是现在在新的报告中,我只能使用黑白方案。所以我想知道如何在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 :(得分:1)
如果您需要显示季节变化的地方,您是否只能使用交替线型或交替点标记?请参阅下面的两个示例。您可以使用不同的点标记和线型来获得您想要的外观。有关创建线型的更多信息,请参阅this SO answer。有关其他点标记(超出pch
提供的标准点标记之外)的更多信息,请参阅,例如here和here。我还提供了一种用较少的代码添加三条水平线的方法。
# 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)