不一致的geom_polygon行为(Windows与OS X)

Dav*_*idC 5 r ggplot2

看起来ggplot2::geom_polygon行为与Windows OSX不同.这是一个例子:

library("ggplot2")
df <- data.frame(x = c(1, 4, 4, 1, 1, 2, 3, 3, 2, 2, 1), 
                     y = c(2,2, 5, 5, 2, 3, 3, 4, 4, 3, 2), 
                     hole = c(FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, FALSE))
ggplot(data=df) + geom_polygon(mapping=aes(x, y), fill="green")
Run Code Online (Sandbox Code Playgroud)

这是我在Windows上为我生成的内容:

视窗

......在我的Mac上:

苹果电脑

在上面的例子中,应该预期的行为可能有点令人困惑!沿负方向追踪洞是更明智的,并获得一致的行为(两者都像上面的Windows输出):

index <- 1:nrow(df)
index[df$hole] <- rev(index[df$hole])
dfReversed <- df[index,]
ggplot(data=dfReversed) + geom_polygon(mapping=aes(x, y), fill="green")
Run Code Online (Sandbox Code Playgroud)

我正在使用相同版本的R和Ggplot2:

Windows 8 OS X 10.9.1 R v3.0.2 Ggplot2 v0.9.3.1.

是什么导致这种差异?或者更一般地说,如何geom_polyon在这些令人困惑的例子中决定要画什么?