- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
下面是我在 R 中创建的 stat_density_2d 图的代码和数据集。
library(ggplot2)
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),geom="polygon") +
scale_fill_distiller(palette = "Spectral") +
geom_path(lwd=1.5, col="black") +
coord_fixed()
数据:
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")
代码成功运行,但是,我想添加第三个填充变量 (exitspeed) 使其看起来更像热图。我已尝试将“fill=es”添加到 stat_density_2d 行,但代码要么忽略“fill=es”行,要么说找不到变量 es。
下面是我的代码现在正在绘制的内容以及我希望绘图看起来像什么的图片。
当前代码:
我想要的:
注意:我仍然希望在图表的右侧有一个刻度。
有谁知道如何将第三个变量正确添加到 stat_density_2d 图中?我也愿意使用其他图/包来构建此热图。提前致谢!
最佳答案
你的图有两个问题:
- 首先,评论的不同尺度(单位)。这使得无法像我在评论中建议的那样简单地为 exitspeed 创建第二个 stat_density
。此外, fill = ..density.. 在这种情况下不起作用,因为我们正在谈论不同的变量。
- 其次,粗略的 x/y 值(见下文)。
ggplot(kZone, aes(x,y)) +
stat_density_2d(data=df, aes(x = s, y = h)) +
geom_raster(data = df, aes(x = s, y = h, fill = exitspeed), interpolate = TRUE)
#doesn't do the job, as the grid is to coarse
粗略的 x/y 坐标的问题是,插值不是很平滑。可以更改插值参数,但我(还)不知道该怎么做。 @JasonAizkalns 问 in this question朝着这个方向 - 但不幸的是还没有答案。
不过,更精细的 x/y 坐标肯定会有所帮助。那么为什么不半手动预测它们。
您基本上想要的是为每个 x/y 坐标分配一个导出速度值 - 在您的密度等高线图中! (虽然我个人认为这可能没有真正的意义,因为那些东西没有必然联系。)
现在 - 在下文中,我将预测原始图中密度等高线的最大多边形(!)内随机采样的 x/y 值。让我们看看:
require(fields)
require(dplyr)
require(sp)
p <- ggplot_build(ggplot() +
stat_density_2d(data = df, aes(x = platelocside, y = platelocheight)) +
lims(x = c(-2,2), y = c(1,5)))$data[[1]] %>%
filter(level == min(level))
#this one is a bit tricky: I increased the limits of the axis of the plot in order to get an 'entire' polygon. I then filtered the rows of the largest polygon (minimum level)
poly_object <- Polygon(cbind(p$x, p$y)) #create Spatial object from polygon coordinates
random_points <- apply(coordinates(spsample(poly_object,10000, type = 'random')),2, round, digits = 1) #(coordinates() pulls out x/y coordinates, I rounded because this unifies the coordinates, and then I sampled random points within this polygon)
tps_x <- cbind(df$platelocside, df$platelocheight) #matrix of independent values for Tps() function
tps_Y <- df$exitspeed #dependent value for model prediction
fit <- Tps(tps_x, tps_Y)
predictedVal <- predict(fit, random_points) #predicting the exitspeed-values
ggplot() +
geom_raster(aes(x = random_points[,'x'], y = random_points[,'y'], fill = predictedVal), interpolate = TRUE)+
stat_density_2d(data = df, aes(x = platelocside, y = platelocheight)) +
geom_path(data = kZone, aes(x,y))
关于r - 将第三个变量添加到 stat_density_2d 图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51865464/
我创建了一个用户可以添加测试的字段。这一切运行顺利我只希望当用户点击(添加另一个测试)然后上一个(添加另一个测试)删除并且这个显示在新字段中。 所有运行良好的唯一问题是点击(添加另一个字段)之前添加另
String[] option = {"Adlawan", "Angeles", "Arreza", "Benenoso", "Bermas", "Brebant
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我正在努力将 jQuery 滚动功能添加到 nav-tab (Bootstrap 3)。我希望用户能够选择他们想要的选项卡,并在选项卡内容中有一个可以平滑滚动到 anchor 的链接。这是我的代码,可
我正在尝试在用户登录后再添加 2 个 ui 选项卡。首先,我尝试做一个之后。 $('#slideshow').tabs('remove', '4'); $("#slideshow ul li:last
我有一个包含选择元素的表单,我想通过选择添加和删除其中一些元素。这是html代码(这里也有jsfiddle http://jsfiddle.net/txhajy2w/):
正在写这个: view.backgroundColor = UIColor.white.withAlphaComponent(0.9) 等同于: view.backgroundColor = UICo
好的,如果其中有任何信息,我想将这些列添加到一起。所以说我有 账户 1 2 3 . 有 4 个帐户空间,但只有 3 个帐户。我如何创建 java 脚本来添加它。 最佳答案 Live Example H
我想知道是否有一种有效的预制算法来确定一组数字的和/差是否可以等于不同的数字。示例: 5、8、10、2,使用 + 或 - 等于 9。5 - 8 = -3 + 10 = 7 + 2 = 9 如果有一个预
我似乎有一个卡住的 git repo。它卡在所有基本的添加、提交命令上,git push 返回所有内容为最新的。 从其他帖子我已经完成了 git gc 和 git fsck/ 我认为基本的调试步骤是
我的 Oracle SQL 查询如下- Q1- select hca.account_number, hca.attribute3, SUM(rcl.extended_amou
我正在阅读 http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingG
我正在尝试添加一个“加载更多”按钮并限制下面的结果,这样投资组合页面中就不会同时加载 1000 个内容,如下所示:http://typesetdesign.com/portfolio/ 我对 PHP
我遇到这个问题,我添加了 8 个文本框,它工作正常,但是当我添加更多文本框(如 16 个文本框)时,它不会添加最后一个文本框。有人遇到过这个问题吗?提前致谢。 Live Link: JAVASCRIP
add/remove clone first row default not delete 添加/删除克隆第一行默认不删除&并获取正确的SrNo(例如:添加3行并在看到问题后删除SrNo.2)
我编码this ,但删除按钮不起作用。我在控制台中没有任何错误.. var counter = 0; var dataList = document.getElementById('materi
我有一个类似数组的对象: [1:数组[10]、2:数组[2]、3:数组[2]、4:数组[2]、5:数组[3]、6:数组[1]] 我正在尝试删除前两个元素,执行一些操作,然后将它们再次插入到同一位置。
使用的 Delphi 版本:2007 你好, 我有一个 Tecord 数组 TInfo = Record Name : String; Price : Integer; end; var Info
我使用了基本的 gridster 代码,然后我声明了通过按钮添加和删除小部件的函数它工作正常但是当我将调整大小功能添加到上面的代码中时,它都不起作用(我的意思是调整大小,添加和删除小部件) 我的js代
title 323 323 323 title 323 323 323 title 323 323 323 JS $(document).keydown(function(e){
我是一名优秀的程序员,十分优秀!