使用NVD3 rCharts在MultiBarChart中重新排序因子

时间:2014-10-16 10:47:32

标签: r rcharts

有没有办法重新排序因素,如红色,黑色,棕色,金色

require(rCharts)
hair_eye_male <- subset(as.data.frame(HairEyeColor), Sex == "Male")
n2 <- nPlot(Freq ~ Hair, group = 'Eye', data = hair_eye_male, type = 'multiBarChart')
n2

由于

2 个答案:

答案 0 :(得分:1)

重新排序因素是一门古老的艺术。不要敲它......这很有趣

在这种情况下,我首先重新评估数据。因此,如果你想在x轴上按顺序出现红色,黑色,棕色,金色......在初始数据框中添加一个新变量,将头发颜色映射到应该如何排序。新变量不应该是一个因素。 (红色= 1,黑色= 2,褐色= 3,金发= 4)。我假设你已经覆盖了它。

下面的代码只是添加了标签。在定义了n2之后添加它。

n2$xAxis(axisLabel = "Hair Color",tickValues=c("red","black","brown","blond"))

答案 1 :(得分:0)

您可以使用levels factor()参数以任意顺序设置因子。然后,如果您根据这些因素对数据帧重新排序,则nPlot图例将按您指定的因子顺序排列。

hair_eye_male <- subset(as.data.frame(HairEyeColor), Sex == "Male")
hair_eye_male$Eye<-factor(hair_eye_male$Eye,levels=c('Green','Blue','Hazel','Brown'))
n<-nPlot(Freq~Hair,data=hair_eye_male[order(hair_eye_male$Eye),],group='Eye',type='multiBarChart')