我对R中的par函数有疑问。
我想用par函数更改图形中一条线的颜色和/或宽度。 (我正在使用par函数,因为下面的gaps.plot命令不允许包含" col"选项。在synth命令之后使用gaps.plot命令。)
所以,我使用了以下命令。但是我注意到BOX的行是改变而不是GRAPHS的行。
synth1<-read.csv(file="C:\\Users\\Research\\R\\synthinR_v4.csv",header=TRUE)
attach(synth1)
library("Synth")
dataprep.out34 <- dataprep(foo = synth1, predictors = c("lncdsales", "md1", "md2","md3", "md4", "md5", "md6", "md7", "md8", "md9", "md10", "md11", "yd1", "yd2", "yd3", "yd4", "yd5", "yd6", "yd7", "yd8"), predictors.op = "mean", time.predictors.prior = -13:1, dependent = "lndigital", unit.variable = "artistalbumcode", time.variable = "release", treatment.identifier = 34, controls.identifier = c(1:33, 35:49), time.optimize.ssr = -13:1, time.plot = -13:25)
synth.out34 <- synth(data.prep.obj = dataprep.out34, method = "BFGS")
par(lwd = 2, col="#cccccc")
gaps.plot(synth.res = synth.out34, dataprep.res = dataprep.out34, Ylab = " Log Digital Sales ", Xlab = "Release", Ylim = c(-7, 7) , Main = NA)
有谁知道如何解决这个问题? 提前感谢您愿意提供帮助。我非常感谢!
答案 0 :(得分:2)
col
的{{1}}参数设置了默认绘图颜色(即在绘图调用中未明确指定par
时),但不幸的是{{1 }被硬编码到col
的源代码中。
您可以通过以下方式制作功能的修改副本(1)查看源(RStudio中的 F2 ,或仅执行col = "black"
),编辑它并将其指定给新的对象,或(2)做类似以下的事情:
gaps.plot
然后使用gaps.plot
,就像使用gaps.plot2 <- eval(parse(text=gsub('col = "black"', 'col = "red"',
deparse(Synth:::gaps.plot))))
:
gaps.plot2
同样改变gaps.plot
。例如,要使线条变为红色并且宽度为3,请使用嵌套的gaps.plot2(synth.res = synth.out34, dataprep.res = dataprep.out34,
Ylab = " Log Digital Sales ", Xlab = "Release", Ylim = c(-7, 7) ,
Main = NA)
调用,如下所示:
lwd