- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个模型告诉我两个变量之间存在相互作用:a 和 b,这显着影响我的响应变量:c。这三个变量都是连续数值变量。详细而言,c 是我的响应变量的变化率,b 是我的预测变量的变化率,a 是平均年降雨量。分析单位是栅格中的像素。所以我的模型告诉我平均年降雨量会改变我的预测因子如何影响我的响应。
为了可视化这种交互作用,我想使用等高线图/热图/水平图,其中 x 轴和 y 轴上有 a 和 b,c 提供颜色来显示我的响应变量在 a 描述的空间内如何变化和b。我可以用散点图来做到这一点,但它不是很漂亮或易于解释:
qplot(b, a, colour = c) +
scale_colour_gradient(low="green", high="red") +
当我尝试绘制等值线图/热图/水平图时,尽管我得到的只是错误、空白图或丑陋的图。
geom_contour
给我一个错误:
ggplot(data = Mod, aes(x = Rain, y = Bomas, z = Fire)) +
geom_contour()
Warning message:
Not possible to generate contour data
geom_raster
最初给我错误:无法分配大小为 81567.2 Gb 的向量
,但是当我舍入数据时它会产生:
ggplot(data = df, aes(x = a, y = b, z = c)) +
geom_raster(aes(fill = c))
将 interpolate = TRUE
添加到 geom_raster
代码只会使线条有点模糊。
geom_tile
生成一个空白图表,但带有 c: 的比例尺
ggplot(data = df, aes(x = a, y = b, z = c)) +
geom_tile(aes(color = c))
我还尝试使用 stat_密度2d
并将填充和/或颜色设置为 c,但出现错误,并且我尝试在中使用 levelplot
以及 lattice
包,但会产生以下结果:
levelplot(c ~ a * b, data = df,
aspect = "asp", contour = TRUE,
xlab = "a",
ylab = "b")
我怀疑我遇到的问题是因为函数没有设置来处理连续的 x 和 y 变量,所有示例似乎都使用了因子。我本以为我可以通过改变垃圾箱宽度来弥补这一点,但这似乎也不起作用。是否有一个函数可以让您制作包含 3 个连续变量的热图?或者我是否需要将 a 和 b 变量视为因素并手动创建一个包含适合我的数据的数据框?
如果您想亲自尝试,那么您会遇到与我遇到的类似问题:
df<- as.data.frame(rnorm(1:1068))
df[,2] <- rnorm(1:1068)
df[,3] <- rnorm(1:1068)
names(df) <- c("a", "b", "c")
最佳答案
您可以获得自动分箱,例如使用stat_summary_2d
计算平均值:
ggplot(df, aes(a, b, z = c)) +
stat_summary_2d() +
geom_point(shape = 1, col = 'white') +
viridis::scale_fill_viridis()
另一个不错的选择是按第三个变量对数据进行切片,并绘制小倍数。不过,这对于随机数据来说并没有很好地显示:
library(ggplot2)
ggplot(df, aes(a, b)) +
geom_point() +
facet_wrap(~cut_number(c, 4))
关于r - 三个连续变量的等值线图或热图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47699241/
我已经上传了一个 shapefile here . #First, read it in library(rgdal) pols % mutate(id = as.numeric(id)) #some
我正在尝试制作分区统计图,但如何设置 map 的大小?现在我有了这张 map : 我想将 map 扩展到所有空间,我阅读了文档,但没有找到解决方案。 这是我的代码: var data = [{
我有一张美国各州的分区统计图,使用分位数比例显示总人口。我还设置了一个下拉菜单,允许用户使用 colorbrewer 定义的配色方案来选择自己选择的配色方案。选择后, map 将填充新的配色方案。 我
我正在使用 d3(更像是学习使用)来创建等值线图。我已经设法加载我的数据和 geojson 对象并获得要显示的 map ,但我想添加一些转换和用户选择数据的能力。 这是我目前所拥有的示例(感谢 git
我已经包含了下面的 html 代码,其中导入了 dc.js 的 javascript 和 css。当我加载页面时,所有元素都位于正确的位置。当我选择一个县路径元素并取消选择 fill:none css
我是一名优秀的程序员,十分优秀!