0

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

1 回答 1

1

最简单的方法是在绘图之前手动添加因子的排序

tmp$testname <- factor(tmp$testname, levels=c("b", "a", "c"))
于 2013-07-10T14:52:34.167 回答