ggplot2 可视化绘制在彼此之上的点的计数:stat_bin2d 或 geom_tile 或点大小?

2023-12-02

我的问题很简单:我有一些带有 x,y 坐标的点,它们位于由 1x1 正方形组成的矩形网格内。这些点具有平均坐标,因此多个点被赋予相同的坐标(它们完全重叠)。可重现的例子:

# generate fake data
y <- seq(from=0.5, to=9.5, by=1)
x <- seq(from=0.5, to=4.5, by=1)
xnew <- sample(x,100,replace=T)
ynew <- sample(y,100,replace=T)
data <- data.frame(xnew,ynew)

# create chart
ggplot(data, aes(x=xnew, y=ynew)) + geom_point()

我想表示特定位置(x,y 坐标,表示特定正方形)处的点的频率。stat_bin2d是朝着正确方向迈出的一步,但垃圾箱(对我来说)莫名其妙地放置在地图上的不同位置,使得很难直观地看到分布情况。

我可以想象两种不同的解决方案:

1) Is there a way to center the bins on the points? Sometimes the lower left-hand corner is at the point, sometimes the lower right-hand corner, etc. like this: as in here

此外,如果盒子足够大以能够相互接触,那将是理想的,但是当我改变binwidth=c(1,1) in stat_bin2d(),它实际上改变了计数,尽管箱不应重叠,因为所有点彼此之间至少相距 1 个平方。

或者,使用磅值:

2)我更喜欢其大小能够反映浓度的点(这样在黑白中也更好)。我尝试使用 geom_point():

ggplot(data, aes(x=xnew, y=ynew))+geom_point(aes(x=xnew,y=ynew, size=..count..))

但我得到了

Error in eval(expr, envir, enclos) : object 'count' not found

然后,如果我添加 `stat="bin",它会与 y 的分配发生冲突。我看这里:为什么 ggplot2 不允许我为每个单独的点设置大小?,但无法使其发挥作用。

感谢您的帮助。


ggplot2 版本 2.0.0 推出几何计数()正是为了做到这一点。用你的数据:

ggplot(data, aes(x=xnew,y=ynew)) +
  geom_count()

Yields: geom_count chart

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ggplot2 可视化绘制在彼此之上的点的计数:stat_bin2d 或 geom_tile 或点大小? 的相关文章

  • 在 R 中将时间从数字转换为时间格式

    我从 xls 文件中读取数据 显然 时间格式不正确 如下 举例 0 3840277777777778 0 3847222222222222 0 3854166666666667 确实 他们应该是 09 12 09 13 09 13 我不知道
  • 保存 d3heatmap 生成的热图

    我正在尝试保存由d3heatmap https github com rstudio d3heatmap转换为 pdf 文件 但文件总是损坏 library d3heatmap pdf file heat pdf d3heatmap mtc
  • 按钮:带滚动条的下载按钮仅下载几行

    我正在处理超过 100 000 行的表并使用DT包裹 开发版本0 1 56 在 Shiny App 中将其可视化 此外我正在使用DT扩展如下 Buttons 下载不同格式的数据 然而虽然Scroller扩展程序也已激活 我只能下载几行 不是
  • aggregate() 将多个输出列放入矩阵中

    我要计算某个变量的多个分位数 gt res1 lt aggregate airquality Wind list airquality Month function x quantile x c 0 9 0 95 0 975 gt head
  • 如何使用Shiny中的下载按钮?

    我想下载一个csv使用 Shiny 中的下载按钮下载文件 该文件将使用辅助 r 脚本中的参数创建 SERVER output downloadData lt downloadHandler filename function paste d
  • 条件 RenderUI R 闪亮

    我的 renderUI 有问题 但在任何地方都找不到解决方案 可能我向谷歌问了错误的问题 不仅仅是一个闪亮的问题 而是一个基本的 R 问题 我在 R 中有一个函数 根据输入将返回一个表格或文本 所以我在我的 server R 中以这种方式创
  • 使用 data.table 而不是 data.frame 进行子集化

    我正在处理一个包含 300 万行和 10 列的数据框 并且正在对其进行一些子集化 我下面有一些玩具代码 当我子集化时 需要很长时间 如果我使用 data table 和 data table 上的子集会更快吗 这是一些玩具代码 s lt c
  • R:重新列出平面列表

    这个问题 https stackoverflow com questions 8139677有一个很好的解决方案 可以在保留列表数据类型的同时展平列表 其中unlist才不是 flatten function x unlist vector
  • 如何为每个条形图制作具有定义水平边框的堆叠条形图

    我有一些数据想以一种我不知道如何在条形图中显示的方式 希望你能帮我解决这个问题 我的表由 4 列组成 簇 0 6 IgG Status mild high mild low Severe High 患者 1 16 和值 每个簇的标准化值 这
  • 如何在函数和循环中使用 data.table?

    在评估效用时data table vs dplyr 一个关键因素是在函数和循环中使用它的能力 为此 我修改了本文中使用的代码片段 data table 与 dplyr 一个可以做得很好而另一个不能做或做得很差吗 https stackove
  • rgdax(coinbase)数据未按预期收集数据

    我正在尝试使用rgdaxR 包用于下载一些历史价格 我设置了 API 密钥等 并尝试在过去 24 小时内加载 start lt strftime Sys time Y m dT H M SZ tz UTC end lt strftime S
  • R Markdown 文档标题中的希腊字母

    R markdown 文档的标题中是否可以包含希腊字母 我试过这个 title Amylase author author date 8 March 2017 output pdf document keep tex true toc ye
  • R中的预测和预测函数之间的区别

    两者之间有什么区别吗predict and forecast R 中的函数 如果是 在哪些具体情况下应该使用它们 Intro predict 适用于多种 R 对象 模型 基础库的一部分 forecast 对于时间序列 预测包的一部分 参见示
  • R:从本地 tar.gz 安装 R 软件包时找不到“make”

    R 包ConvCalendar不再位于 Cran 存储库中 请参阅here https cran r project org web packages ConvCalendar index html 然而 因为我在之前的项目中大量使用了这个
  • r - 根据第一个向量重新排序第二个向量

    寻找解决方案来执行以下操作 有两个向量 a lt c 2 1 3 4 7 6 5 9 8 10 b lt c 3 2 1 6 5 4 7 8 9 10 我想创建第三个向量 它给出向量的顺序b需要重新排序 使其顺序与a 在这种情况下我想得到
  • 成对散点图;一对多[重复]

    这个问题在这里已经有答案了 有没有一种简洁的方法来创建pairs仅将一个变量与许多其他变量进行比较的图 换句话说 我可以只绘制标准的一行或一列吗 pairs不使用循环的散点图矩阵 融化你的数据 然后使用带有facet的ggplot libr
  • 在R中使用plotly在轴标题中换行和下标

    我刚开始使用plotly对于 R 中的一些交互式散点图 并且在轴标签上遇到困难 通常我设计我的情节ggplot2然后使用ggplotly函数来转换它们 但这有时由于某种原因非常慢 所以我想直接在中创建我的图plotly 我现在尝试更改轴标题
  • 拆分并保存在新的 data.frames 中

    我有一个大 data frame 144 列 我想将其分成每组 3 列 子文件或子 data frame 然后将子 data frame 保存在单独的文件中 换句话说 file1 将包含从 1 到 3 的列 file2 将包含从 6 到 9
  • 在另一列的字符串中搜索一列中的文本

    这里是 R 新手 一直在搜索此论坛 尝试找到一种在同一行数据的字符串中搜索文本的方法 我以前使用过 grepl 但无法让它向下查找列并对每一行应用检查 我觉得这是一个简单的解决方案 但我花了几个小时 但似乎无法得到它 基本上我有类似下面第
  • dplyr::mutate 添加多个值

    网上有几个与此相关的问题dplyr Github 存储库 https github com hadley dplyr已经 并且至少有一个相关的问题 但没有一个问题完全涵盖了我的问题 我认为 在 dplyr mutate 调用中添加多列 ht

随机推荐