【问题标题】:Baseball Heap Maps in RR中的棒球堆地图
【发布时间】:2020-02-23 22:53:55
【问题描述】:

我正在尝试创建击球手热图,该热图取决于某个击球的平均值,根据坐标的物理位置绘制,例如。因此地图上某个区域的较高值是红色的,较低的值是蓝色的。

我进行了一些研究,但似乎无法为此提出解决方案。

EX 地块位置 + 值(X 基于板的中心,左侧为负数,右侧为正数,以米为单位):

Plot Location

对于这些绘图点中的每一个,都有一个附加值(即一些是 0.5、0.25、0、-0.5)。

有没有办法绘制这些值并将它们平均以创建类似于此的热图:Heat Map

我不一定需要它像那样连续,我可以将它们存储起来。我知道如何使用通过 ggplot 内置的打击区创建绘图并单独绘制每个点,但我正在努力寻找一种基于附近绘图点进行聚合并将其转换为热图的方法。

我在这里的第一篇文章,如果我提供的详细信息数量不符合标准,我深表歉意,如果我可以包含更多相关信息,我很乐意。

谢谢!

【问题讨论】:

  • 听起来您正在寻找 ggplot2 库的六边形 bin 热图。查看此页面上的示例ggplot2.tidyverse.org/reference/geom_hex.html
  • 嗨 adbmke。欢迎来到 StackOverflow!您的帖子可能会受益于您已经尝试过的更多细节以及示例数据和代码。您可以阅读有关how to ask a good question 以及如何提供minimale reproducible example 的信息。这样你就可以帮助别人帮助你!
  • 我使用六边形箱作为音高频率,但问题是我相信它只是一个计数功能? IE。它不会为每个六边形聚合,只是在其中计数..有没有办法操纵该函数?

标签: r dictionary plot heat


【解决方案1】:

如果要将热图基于 Value 变量的 mean,请使用 stat_summary_hex() 函数。

将数据分为xy定义的bin,然后有趣的汇总每个cell中z的值。

默认的“汇总”函数是mean(z)

下面的代码使用深度的平均值绘制了一个热图。

ggplot(diamonds, aes(x=carat, y=price, z=depth)) + 
   stat_summary_hex()

fun 参数是用于汇总的函数,默认函数可以被任何函数覆盖。例如max()

ggplot(diamonds, aes(x=carat, y=price, z=depth)) + 
   stat_summary_hex(fun = "max")
   #stat_summary_hex(fun = function(a) max(a)) #alternative for complex functions

https://ggplot2.tidyverse.org/reference/stat_summary.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-30
    • 1970-01-01
    • 2019-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-22
    • 1970-01-01
    相关资源
    最近更新 更多