如何在R中使用par函数更改线条的颜色和宽度

时间:2014-12-03 13:28:47

标签: r data-visualization

我对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)

有谁知道如何解决这个问题? 提前感谢您愿意提供帮助。我非常感谢!

1 个答案:

答案 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

enter image description here

同样改变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