Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 统计密度2d打印忽略填充美学_R_Ggplot2_Stat Density2d - Fatal编程技术网

R 统计密度2d打印忽略填充美学

R 统计密度2d打印忽略填充美学,r,ggplot2,stat-density2d,R,Ggplot2,Stat Density2d,下面是R代码(包括数据集),旨在使用stat_desnity_2d绘图复制此热图的样式。 代码运行,但代码忽略了我的填充变量(代码中标题为“exitspeed”),因此绘图只显示一种颜色。下面是一张照片。 有人知道如何获得stat_density_2d绘图以停止忽略填充变量(exitspeed),从而使输出看起来与上面段落中的图片类似吗?提前谢谢 以下是数据集: structure(list(platelocheight = c(2.594, 3.803, 3.254, 3.599, 3.

下面是R代码(包括数据集),旨在使用stat_desnity_2d绘图复制此热图的样式。

代码运行,但代码忽略了我的填充变量(代码中标题为“exitspeed”),因此绘图只显示一种颜色。下面是一张照片。

有人知道如何获得stat_density_2d绘图以停止忽略填充变量(exitspeed),从而使输出看起来与上面段落中的图片类似吗?提前谢谢

以下是数据集:

structure(list(platelocheight = c(2.594, 3.803, 3.254, 3.599, 
3.617, 3.297, 2.093, 3.611, 2.842, 3.316, 2.872, 3.228, 3.633, 
4.28, 3.309, 2.8, 2.632, 3.754, 2.207, 3.604, 3.443, 2.188, 3.452, 
2.553, 3.382, 3.067, 2.986, 2.785, 2.567, 3.804), platelocside = c(0.059, 
-1.596, -0.65, -0.782, -0.301, -0.104, 0.057, -0.807, 0.003, 
1.661, 0.088, -0.32, -1.115, -0.146, -0.364, -0.952, 0.254, 0.109, 
-0.671, -0.803, -0.212, -0.069, -0.09, -0.472, 0.434, 0.337, 
0.723, 0.508, -0.197, -0.635), exitspeed = c(69.891, 73.352, 
83.942, 85.67, 79.454, 85.277, 81.078, 73.573, 77.272, 59.263, 
97.343, 91.436, 76.264, 83.479, 47.576, 84.13, 60.475, 61.093, 
84.54, 69.959, 88.729, 88.019, 82.18, 83.684, 86.296, 90.605, 
79.945, 59.899, 62.522, 77.75)), .Names = c("platelocheight", 
"platelocside", "exitspeed"), row.names = c(NA, 30L), class = "data.frame")
> 
R代码:

library(RODBC)
library(ggplot2)


    con=odbcConnect('username',uid='ID', pwd = 'password')

    df=sqlQuery(con,"select platelocheight, platelocside, exitspeed from pitches_sample where pitchcall='InPlay' 
                and exitspeed is not null")

    topKzone <- 3.5
    botKzone <- 1.6
    inKzone <- -0.95
    outKzone <- 0.95
    kZone <- data.frame(
      x=c(inKzone, inKzone, outKzone, outKzone, inKzone),
      y=c(botKzone, topKzone, topKzone, botKzone, botKzone)
    )

    df$h <- round(df$platelocheight)
    df$s <- round(df$platelocside)
    df$es<- round(df$exitspeed)

    ggplot(kZone, aes(x,y)) +
      stat_density_2d(data=df, aes(x=s, y=h, fill=es),geom="polygon") +
      scale_fill_distiller(palette = "Spectral") +
      geom_path(lwd=1.5, col="black") +
      coord_fixed()
库(RODBC)
图书馆(GG2)
con=odbcConnect('username',uid='ID',pwd='password')
df=sqlQuery(con,“从pitchcall='InPlay'的Pitchs\u示例中选择platelocheight、platelocside、exitspeed”
并且exitspeed不为null)

topKzone此数据对应于代码的哪一部分?如果您可以将代码缩减到该问题所需的内容以及所包含数据的用途,这将非常有用。您可以使用
ggplot(df,aes(platelocside,platelocheight,fill=…level..)+stat_density_2d(geom='polygon')
,但它只使用两个变量。要插入第三个变量,需要级别内的所有内容都与该变量的值相同。另一种方法是提前装箱,并使用
geom\u光栅
@camille抱歉,它指的是代码的ggplot部分。我问题中的图片绘制了platelocside和platelocheight,我需要计算出是否包含exitspeed填充。谢谢你看@谢谢你的建议!快速跟进问题。当你说“某个级别内的所有内容都与该变量的值相同”时,你是什么意思?
stat\u density\u 2d
调用
MASS::kde2d
并将结果存储到各个级别。您试图用一个变量来填充这些级别,该变量对该级别内的点具有多个值,但这不起作用。(即使它们是相同的级别,这仍然是一项工作。)如果您想用第三个变量设置填充,最终您实际上不需要
stat\u density\u 2d
,您需要。不过,您需要网格化数据。