gpt4 book ai didi

r - 当使用 `scale_x_log10` 时,如何将 `geom_text` 准确映射到 `geom_bin2d` ?

转载 作者:行者123 更新时间:2023-12-02 02:57:23 25 4
gpt4 key购买 nike

关于如何在geom_bin2d上标记计数的一个很好的答案,可以在这里找到:

Getting counts on bins in a heat map using R

但是,当修改它以具有对数 X 轴时:

library(ggplot2)

set.seed(1)
dat <- data.frame(x = rnorm(1000), y = rnorm(1000))

# plot MODIFIED HERE TO BECOME log10
p <- ggplot(dat, aes(x = x, y = y)) + geom_bin2d() + scale_x_log10()

# Get data - this includes counts and x,y coordinates
newdat <- ggplot_build(p)$data[[1]]

# add in text labels
p + geom_text(data=newdat, aes((xmin + xmax)/2, (ymin + ymax)/2,
label=count), col="white")

这会产生很难映射到各自点的标签。

如何更正基于 geom_text 的标签以正确映射到各自的点?

最佳答案

直接对 x 值应用对数变换,而不是按比例进行对数变换。仅更改一行代码:

p <- ggplot(dat, aes(x = log10(x), y = y)) + geom_bin2d()

这允许保留负值并产生以下图: enter image description here

关于r - 当使用 `scale_x_log10` 时,如何将 `geom_text` 准确映射到 `geom_bin2d` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31162332/

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