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