在x轴上维护标签的顺序

时间:2013-07-10 14:47:42

标签: r ggplot2

我正在使用ggplot2来绘制数据,下面给出了一个玩具示例。 ggplot似乎对标签进行排序并按排序顺序绘制点(先是a然后是b然后是c),但是,我需要按照它在表格中的顺序打印x标签(即, b然后是a然后c。)。

我该怎么做?

library(ggplot2)
tmp<- data.frame(testname=c("b","b","a","a","c","c"), variable=c(40,50,40,50,40,50), value=c(0.5,0.6,0.7,0.8, 0.4, 0.8))
tmp

> tmp
  testname variable value
1        b       40   0.5
2        b       50   0.6
3        a       40   0.7
4        a       50   0.8
5        c       40   0.4
6        c       50   0.8
ggplot(tmp, aes(testname, value)) + geom_point(aes(group=variable, colour= variable), ) + theme_bw() 

1 个答案:

答案 0 :(得分:1)

最简单的方法是在绘制

之前手动添加因子的顺序
tmp$testname <- factor(tmp$testname, levels=c("b", "a", "c"))