1

当我使用便利功能时,我无法获得minor_breaks做任何事情的论据scale_x_reverse

df <- data.frame(x=c(10,20,40,90,300),y=c(1,2,7,2,7)) #define data frame

# scale_x_continuous uses minor_breaks just like it should
ggplot(df, aes(x,y)) + geom_line() +
    scale_x_continuous(breaks=c(10,50,100,150,200,250,300), minor_breaks=10:300)

# scale_x_reverse seems to ignore the minor_breaks option
ggplot(df, aes(x,y)) + geom_line() + 
    scale_x_reverse(breaks=c(10,50,100,150,200,250,300), minor_breaks=10:300)

有什么方法可以反转 X 轴但仍然可以自定义小中断?

4

1 回答 1

2

这对我来说就像一个错误。scale_x_reverse只是 with 的包装scale_x_continuoustrans = reverse_trans()。现在,reverse_trans通过简单地定义一个反转每个值的符号的函数来完成它的工作:function(x) -x.

所以凭直觉,我尝试了这个:

ggplot(df, aes(x,y)) + 
    geom_line() + 
    scale_x_reverse(breaks=c(10,50,100,150,200,250,300), 
                    minor_breaks= -c(25,75,125))

可能很容易解决。您可以考虑在 github 上提交错误报告。

于 2012-10-09T14:19:14.897 回答