gpt4 book ai didi

r - 在 hexbinplot 上添加直线和文本

转载 作者:行者123 更新时间:2023-12-04 10:31:54 25 4
gpt4 key购买 nike

我想在我的六边形图中添加一条标准的 1:1 直线(截距为 0,斜率为 1)和一些文本(例如 R 方 block )。试用代码可能类似于

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)

这给了我下面的情节 enter image description here

添加的行有两个问题,分别是

  1. 应该是从左下角到右上角,但是当我在RStudio中放大/缩小图形窗口时,斜率(应该是1)和截距(应该是0)看起来会发生变化
  2. 直线两端不延伸到绘图边界

另一个问题是关于如何在绘图上添加文本。

理想的情节可能是这样的 enter image description here

最佳答案

可爱的是,一个包仍然使用格子作为图形。真的很复古!

这是格子的方式:

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)
})

resulting plot

(编辑:添加额外要求后:使用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)

关于r - 在 hexbinplot 上添加直线和文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53515004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com