我有一个由虚拟人组成的数据集,如下所示:
# Example data
set.seed(123)
data <- data.frame(x1 = rbinom(10, 1, 0.3),
x2 = rbinom(10, 1, 0.6),
x3 = rbinom(10, 1, 0.5))我想要创建一个马赛克图/网格图(实际上我不知道该如何调用这样的图),其中每个1值以黑色显示,每个0值以白色显示。在显示的线条之间不应该有空白或任何其他颜色。
我想要创建的一个绘图示例可以在这份文件载于第97页中找到

我尝试了几个不同的包,如ggplot2或vcd,但不幸的是,我无法产生完全相同的情节。任何帮助或任何提示对一个包裹是非常感谢的!
发布于 2017-06-30 10:46:46
image函数可能是显示颜色矩阵的最简单方法。您需要转接并反转它,才能使订单正确。
image(t(as.matrix(data[nrow(data):1, ])), col = c(0, 1), axes = FALSE)
axis(1, seq(0, 1, l = ncol(data)), seq_len(ncol(data)))
axis(2, seq(0, 1, l = nrow(data)), seq_len(nrow(data)))
legend(1.1, 0, c(0:1), fill = c(0, 1), xpd = TRUE)

发布于 2017-07-03 06:56:00
这里是使用ggplot
library(ggplot2)
library(tidyr) #to convert wide to long format
plotDat <- gather(data, key = "x", value = "Estimate")
plotDat <- cbind(plotDat, y = 1:10)
plotDat$Estimate <- as.factor(plotDat$Estimate)
ggplot(plotDat, aes(x, y, fill = Estimate)) +
geom_tile()

https://stackoverflow.com/questions/44844395
复制相似问题