我正在使用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()
答案 0 :(得分:1)
最简单的方法是在绘制
之前手动添加因子的顺序tmp$testname <- factor(tmp$testname, levels=c("b", "a", "c"))