如何在ggplot中订购因子变量

时间:2014-10-14 07:21:30

标签: r plot ggplot2 r-factor

我想通过降低斜率值而不是按字母顺序排列x轴上的植物生长形状因子变量。我尝试了reorder()功能但没有成功。

slope = c(1.0508194, 0.9406335, 1.1271495, 1.0496251, 
          0.9874658, 0.9358822, 0.8621570, 1.0403310, 
          1.0380560, 1.0401669)

veg3 <- data.frame(plant_growth_form = as.factor(c("fern", "fern ally", "grass", "herb","herbaceous climber", "herbaceous shrub",
                                                            "tree sapling", "undet", "woody climber", "woody shrub")))

ggplot(veg3, aes(x = plant_growth_form, y = slope)) +
   geom_point(cex=2) +
   xlab("Growth form") + ylab("Slopes") + ylim(0,2) +
   theme_bw() + theme(panel.grid.major = element_blank(), 
                      panel.grid.minor = element_blank())

使用dput()生成的可重现数据子集可在以下位置找到:如何计算预测数据的标准误差

1 个答案:

答案 0 :(得分:2)

对我来说,reorder()的代码按预期工作。

ggplot(veg3, aes(x = reorder(plant_growth_form,-slope), y = slope)) +
      geom_point(cex=2) +
      xlab("Growth form") + ylab("Slopes") + ylim(0,2) +
      theme_bw() + theme(panel.grid.major = element_blank(), 
                         panel.grid.minor = element_blank())