首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于假人的黑白镶嵌图/栅格图

用于假人的黑白镶嵌图/栅格图
EN

Stack Overflow用户
提问于 2017-06-30 10:34:09
回答 2查看 164关注 0票数 2

我有一个由虚拟人组成的数据集,如下所示:

代码语言:javascript
复制
# 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页中找到

我尝试了几个不同的包,如ggplot2vcd,但不幸的是,我无法产生完全相同的情节。任何帮助或任何提示对一个包裹是非常感谢的!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-30 10:46:46

image函数可能是显示颜色矩阵的最简单方法。您需要转接并反转它,才能使订单正确。

代码语言:javascript
复制
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)

票数 3
EN

Stack Overflow用户

发布于 2017-07-03 06:56:00

这里是使用ggplot

代码语言:javascript
复制
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()

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44844395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档