我有以下4x4数字矩阵,其中包含数字0-4:
0 1 0 3
3 2 1 4
4 1 0 2
3 3 0 1
我想了解如何使用R将数字矩阵转换为使用所选颜色和特定方形尺寸(长度x宽度)的颜色矩阵。要清楚,我将颜色矩阵定义为使用彩色方块表示的图形矩阵方向的特定值。其他程序的示例4x4如下:
我必须为数字指定颜色代码,例如:
0 = FFFFFF
1 = 99FF66
2 = 66FF33
3 = 33CC00
4 = 009900
但我不知道从哪里开始把它放在一起。我想我也必须指定颜色方块的尺寸。
我的目标是能够将数据框导入到R中,最多包含10个数值,并为20x20的矩阵创建这些颜色图表。
答案 0 :(得分:10)
这就是我要做的事情:
d<-read.table(text="
0 1 0 3
3 2 1 4
4 1 0 2
3 3 0 1")
cols <- c(
'0' = "#FFFFFF",
'1' = "#99FF66",
'2' = "#66FF33",
'3' = "#33CC00",
'4' = "#009900"
)
# the names aren't necessary here.
image(1:nrow(d), 1:ncol(d), as.matrix(d), col=cols)
如果您希望方向不同,可以rotate the matrix:
image(1:nrow(d), 1:ncol(d), t(apply(d, 2, rev)), col=cols)
要摆脱所有文字和边框,您可以尝试:
image(1:nrow(d), 1:ncol(d), as.matrix(d), col=cols,
xaxt="n", yaxt="n", bty="n", xlab="", ylab="")