gpt4 book ai didi

r - 我们如何绘制棋盘(N×N)网格?

转载 作者:行者123 更新时间:2023-12-03 00:49:36 27 4
gpt4 key购买 nike

如果我有这样的 CSV:

row,column
1,0
5,1
7,2
2,3
0,4
3,5
6,6
4,7

8x8 Chessboard

从 CSV 数据填充黑色方 block 的结果是:

Populated 8x8 Chessboard

我的在底层绘图上绘制黑色方 block 。无法将黑色方 block 放在正确的位置。我对 R 还很陌生,所以我遇到了一些困难。我哪里出错了?

library(data.table)

library(reshape2)
library(ggplot2)

data_csv <- fread('./data.csv')

mx <- matrix(data_csv, nrow=8, ncol=8)

ggplot(melt(mx), aes(x=Var1, y=Var2)) + geom_tile()

尝试使其动态化,以便如果 CSV 增长到 n 行,它仍然可以处理。

最佳答案

首先读入数据:

chessdat <- read.table(text='row,column
1,0
5,1
7,2
2,3
0,4
3,5
6,6
4,7', sep =',', header = T)

因为geom_tile以该点为中心,所以我们给出一个偏移量

offset <- 0.5
chessdat2 <- chessdat + offset

然后按照您所做的那样进行绘图:

ggplot(chessdat2, aes(row,column)) + geom_tile() + theme_bw()

这给出:

enter image description here

然后稍微调整一下格式,我们就可以到达棋盘了:

ggplot(chessdat2, aes(row,column)) + geom_tile() + 
theme_bw() +
theme(panel.grid.major = element_line(size = 2, color='black'),
panel.grid.minor = element_line(size=2, color = 'black'),
axis.ticks = element_blank(),
axis.text = element_blank(),
axis.title = element_blank()) +
coord_cartesian(xlim=c(0,8), ylim=c(0,8))

这给出了情节:

enter image description here

关于r - 我们如何绘制棋盘(N×N)网格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34124131/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com