我想在hexbinplot上添加一条标准的1:1行(截距0和斜率1)和一些文本(例如R-square)。试用代码可能类似于
require(hexbin)
x1 <- rnorm(10000)
x2 <- rnorm(10000)
df <- data.frame(cbind(x1, x2))
hex <- hexbin(x1, x2, xbins = 300)
hexbinplot(x2 ~ x1, data = df, aspect = '1', xbins = 300, xlim = c(-5, 5), ylim = c(-5, 5))
hexVP.abline(hexViewport(hex), 0, 1)
添加的行有两个问题
另一个问题是如何在情节上添加文本。
答案 0 :(得分:5)
可爱的是,程序包仍然使用点阵图形。真的很复古!
这是晶格方式:
hexbinplot(x2 ~ x1, data = df, aspect = '1', xbins = 300, xlim = c(-5, 5), ylim = c(-5, 5),
panel = function(x, y, ...) {
panel.hexbinplot(x, y, ...)
lattice::panel.abline(a = 0, b = 1)
})
(编辑:添加了其他要求后:使用panel.text
将文本添加到点阵图中。)
我个人将使用ggplot2及其geom_hex
:
library(ggplot2)
ggplot(df, aes(x = x1, y = x2)) +
geom_hex(bins = 300) +
xlim(-5, 5) + ylim(-5, 5) +
geom_abline(intercept = 0, slope = 1)