看起来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在这些令人困惑的例子中决定要画什么?
| 归档时间: |
|
| 查看次数: |
145 次 |
| 最近记录: |