【发布时间】:2014-10-16 22:53:54
【问题描述】:
给定一个具有 N 个点的数值数据集 {(x_i, y_i, z_i)},可以通过为每个 i=1,...,N 绘制一个点 P_i=(x_i,y_i) 并为每个点着色来创建散点图点的强度取决于 z_i 的值。
library(ggplot2)
N = 1000;
dfA = data.frame(runif(N), runif(N), runif(N))
dfB = data.frame(runif(N), runif(N), runif(N))
names(dfA) = c("x", "y", "z")
names(dfB) = c("x", "y", "z")
PlotA <- ggplot(data = dfA, aes(x = x, y = y)) + geom_point(aes(colour = z));
PlotB <- ggplot(data = dfB, aes(x = x, y = y)) + geom_point(aes(colour = z));
假设我已经创建了这些散点图。我想对每个数据集做的是用网格划分平面(矩形、六边形、三角形……没关系),并用落在其中的所有点的平均强度为网格的每个单元格着色细胞。
另外,假设我为两个不同的数据集 dfA 和 dfB 创建了两个这样的图 PlotA 和 PlotB(如上)。设 c_i^k 为图 k 的第 i 个单元格。我想创建第三个图,使得每个 i 的 c_i^3 = c_i^1 * c_i^2。
谢谢。
编辑:最小示例
【问题讨论】:
-
如果您提供示例数据集,这将更容易回答。这样,我们就可以编写代码并测试它是否适用于(理论上)与您实际使用的输入相似的输入。有关包含示例数据的提示,请参阅 how to create a reproducible example。
-
为什么我的问题被否决了?
标签: r data-visualization ggplot2 aggregation