如何使用featurePlot标记更多7个类?

时间:2015-04-18 09:23:31

标签: r plot r-caret

我使用以下命令绘制了一些火车数据

obj<-featurePlot(x=otto.all[,1:5], y = otto.all$target, plot="pairs", auto.key = list(columns = 9))

数据包含target中的9个类。不幸的是,我找到了那个功能 最后两节有重复的颜色:

enter image description here

更新

以下代码

obj<-featurePlot(x=otto.all[,1:5], y = otto.all$target, plot="pairs", auto.key = list(columns = 9),col=c("#d82b25","#073ca5","#9c9ea0","#ffce49","#03f92c","#16f4c2","#69167e","#191a92","#000000"))

显然会影响个别情节,但不影响传奇:

enter image description here

如你所见,青色出现在情节中,但在传说中没有。此外,legent仍然重复最后两种颜色。

(最后两种颜色是蓝色,品红色是前两种颜色)

如何使其不自动重复,或明确指定特定颜色?

3 个答案:

答案 0 :(得分:1)

更改superpose.symbol图形参数可以解决问题 要查看您当前的主题,请使用AGAINST();要查看superpose.symbol的当前值,请使用show.settings()。这些是我们需要改变的价值观。

所以,让我们想出一套颜色,比如说

str(trellis.par.get("superpose.symbol"))

和九个不同的符号,为了更好的衡量,
myColors<- c("#000000", "#7fff00", "#8b0000", "#9932cc", "#ff7f00", "#458b00", "#008b8b", "#0000ff", "#ffff00" )

接下来,创建新设置:

pch_vector <- c(0,6,12,18,1, 8, 19, 15, 17)

然后,您可以使用以下方式全局更改设置:

 my_settings <- list(superpose.symbol=list(alpha = rep(1, 9), col=myColors,
    cex=rep(0.8, 9), fill= myColors, font = rep(1, 9), pch=pch_vector)

或在本地,使用trellis.par.set(my_settings) 电话中的par.settings=参数:

featurePlot()

答案 1 :(得分:0)

函数featurePlot使用lattice创建绘图。尝试添加,col=c("blue","green",...)作为参数并添加所需的9种颜色。 您也可以使用hex colour codes。例如:

,col=c("#d82b25","#073ca5","#9c9ea0","#ffce49","#03f92c","#16f4c2","#69167e","#191a92","#000000")

答案 2 :(得分:0)

如果您使用主题,则auto.key会受到影响。例如,您应该看到以下区别:

featurePlot(iris[, 1:4], iris$Species, plot="pairs", 
            auto.key = list(columns = 2))

col.whitebg()
featurePlot(iris[, 1:4], iris$Species, plot="pairs", 
            auto.key = list(columns = 2))