ggparcoord:使用离散比例的颜色

ggparcoord:使用离散比例的颜色,r,ggplot2,scale,ggally,R,Ggplot2,Scale,Ggally,我似乎无法使用离散比例将我的ggparcoord绘图着色。当我这样做时: ggparcoord(data = iris, columns = 1:4, groupColumn = "Species") 输出图仍在使用连续比例(使用物种因子的级别)为线条着色 我还尝试了这里指定的scale\u color\u手册技巧的修改版本,但并没有效果 ggparcoord(data = iris, columns = 1:4, groupColumn = "Species") + scale_

我似乎无法使用离散比例将我的
ggparcoord
绘图着色。当我这样做时:

ggparcoord(data = iris, columns = 1:4, groupColumn = "Species")
输出图仍在使用连续比例(使用<代码>物种因子的级别)为线条着色

我还尝试了这里指定的
scale\u color\u手册
技巧的修改版本,但并没有效果

ggparcoord(data = iris, columns = 1:4, groupColumn = "Species") + 
    scale_color_manual(values = c("setosa" = "red", 
                                  "versicolor" = "green", 
                                  "virginica" = "blue"))
但我得到了这个错误消息:
错误:提供给离散刻度的连续值

我也试过
。+缩放颜色离散()
:相同的错误消息

我被难住了。。。即使是上的示例也不起作用:

data(diamonds, package="ggplot2")
diamonds.samp <- diamonds[sample(1:dim(diamonds)[1],100),]
ggparcoord(data = diamonds.samp,columns = c(1,5:10),groupColumn = 2)
是否有一种方法可以完成同样的事情,而无需添加
比例\u颜色\u离散(“物种”,标签=级别(虹膜$Species))
部分

例如,在
ggplot2

ggplot(data=iris, aes(x=Sepal.Width,y=Sepal.Length,color=Species)) + geom_point()
自动生成标记良好的图例。
ggparcoord
中是否有类似的方法

我使用的是R版本3.2.1、
ggplot2\u 2.0.0
GGally\u 1.0.0

sessionInfo()
# R version 3.2.1 (2015-06-18)
# Platform: x86_64-apple-darwin13.4.0 (64-bit)
# Running under: OS X 10.10.5 (Yosemite)
# 
# locale:
# [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
# 
# attached base packages:
# [1] stats     graphics  grDevices utils     datasets  methods   base     
# 
# other attached packages:
# [1] ggplot2_2.0.0 GGally_1.0.0  magrittr_1.5  dplyr_0.4.3  

任何帮助都将不胜感激

一种解决方案是使用参数
mapping=
并将其设置为
as.factor(Species)
(没有
as.factor()
,它给出的结果与所讨论的相同)。然后使用
scale\u color\u discrete()

ggparcoord(data = iris, columns = 1:4, mapping=aes(color=as.factor(Species)))+
  scale_color_discrete("Species",labels=levels(iris$Species))

成功了,谢谢!不过,对于
scale\u color\u discrete
中需要的所有额外定制“修复”,我有点不高兴。是否没有默认方法直接在
ggparcord
中生成离散色标,这些色标具有与
ggplot2
绘图相同的逻辑默认值?(也就是说,
ggplot(data=iris,aes(x=Sepal.Width,y=Sepal.Length,color=Species))+geom_point()
立即为我提供了一个与上述类似的图例,而无需指定所有这些额外设置…@adilapapapaya我不知道为什么会发生这种情况。我刚刚尝试了一些有效的代码。你的意思是
ggparcoord(data=iris,columns=1:4,mapping=aes(color=as.factor(Species))
为你生成上面的图形而开箱即用吗?是的,我在函数的帮助文件中列出了,你可以使用参数
mapping=
来提供
aes()
参数并尝试了不同的解决方案。好的,我已经更新了我的问题。如果没有其他人能回答这一部分,我会接受这个答案。(谢谢你的帮助!)
ggparcoord(data = iris, columns = 1:4, mapping=aes(color=as.factor(Species)))+
  scale_color_discrete("Species",labels=levels(iris$Species))