【问题标题】:How to arrange symbols randomly into grid如何将符号随机排列到网格中
【发布时间】:2022-01-14 02:19:37
【问题描述】:

我有一个大小为 n*m 的网格和 1-13 的 pch 符号,有 8 种颜色(所以有 104 种不同的组合)

网格为空:

现在我正在尝试将符号成对随机绘制到我的网格上。 我的想法是我创建一个与我的网格和随机整数大小相同的矩阵以及一个包含所有 pch 和颜色组合的数据框,并将它们绘制在网格上。

我的目标:

row <- 4
col <- 13
n <- row * col
plot.new()
plot.window(xlim = c(1, col), ylim = c(1, row))
grid(nx = col, ny = row, col = "black")
box(lwd = 2)
axis(1, at=1:col,tick=FALSE,las = 1)
axis(2,at = 1:row,tick= FALSE,las = 2)

pch_v <- c(1:13)
col_v <- c(1:8)

board <- matrix(sample(1:n),nrow = row,ncol=col)
unique_combination <- expand.grid(pch_v,col_v)

这就是我卡住的地方。如果有人有想法,我将不胜感激。

【问题讨论】:

  • 网格为4*13=52,pch颜色组合为13*8=104。可以重叠吗?

标签: r plot


【解决方案1】:

Shuffleunique_combination,然后绘制:

row <- 4
col <- 13
pch_v <- c(1:col)
col_v <- c(1:row)
unique_combination <- expand.grid(pch_v,col_v)

# random sort
# set.seed(1) # if we want to reproduce
ucr <- unique_combination[ sample(nrow(unique_combination)), ]
d <- data.frame(x = 1:col, y = 1:row, pch = ucr$Var1, col = ucr$Var2)

with(d, plot(x, y, col = col, pch = pch, bty = "n"))

如果我们需要绘制 X 点,数据之前的子集:

# subset x rows then plot
with(head(d, 6), plot(x, y, col = col, pch = pch, bty = "n"))

【讨论】:

  • 好的,谢谢你的意见,我来看看
猜你喜欢
  • 2015-10-24
  • 2019-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-20
  • 2012-06-24
相关资源
最近更新 更多