根据内核实验室文档中的示例,plot为SVM模型的决策权重和边界绘制了一个很好的图形。
require(kernlab)
x<- rbind(matrix(rnorm(n=120,mean=-1,sd=2),,2),matrix(rnorm(120,mean=3,sd=2),,2))
y <- matrix(c(rep(1,60),rep(-1,60)))
svp <- ksvm(x,y,type="C-svc",kernel="vanilladot")
plot(svp,data=x)
但是,我想更改背景渐变的默认颜色。有什么建议要怎么做吗?我研究过edit(plot),但对泛型函数不太熟悉,不知道要更改什么。谢谢!
发布于 2014-07-24 10:53:40
如果您先检查showMethods("plot")
,然后检查getMethod("plot", c("ksvm", "missing"))
,您将看到绘图函数创建了自己的颜色:
[...]
mycols <- c(hcl(0, 100 * (nl:0/nl)^1.3, 90 - 40 *
(nl:0/nl)^1.3), rev(hcl(260, 100 * (nl:0/nl)^1.3,
90 - 40 * (nl:0/nl)^1.3)))
[...]
并使用它们进行绘图:
[...]
filled.contour(xr, yr, matrix(as.numeric(preds),
nrow = length(xr), byrow = TRUE), col = mycols,
[...]
这意味着您不能轻松地更改颜色,它们被硬编码到ksvm
plot()
中。
你能做的是
plot()
函数,并重写它,这样您就可以覆盖默认颜色。https://stackoverflow.com/questions/24924054
复制相似问题