用R中的选定颜色为像素矩阵着色
coloring pixel matrix with selected colors in R
我有一个像素矩阵如下:
0000 0001 0010 0100 1000 0011 0101 0110 1001 1010 1100 0111 1011 1101 1110 1111
CTR_NCOR 0 0 0 0 1 0 0 0 1 1 1 0 1 1 1 1
CTR_CTRI 0 0 0 1 0 0 1 1 0 0 1 1 0 1 1 1
NCOR_NCORI 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1
NCORI_CTRI 0 1 0 0 0 1 1 0 1 0 0 1 1 1 0 1
我可以使用 R 中的 image()
函数创建像素矩阵,但只能使用两种颜色。
我正在尝试将以下 "matrix of colors" 应用于图像
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16]
[1,] 0 0 0 0 1 0 0 0 2 2 2 0 3 3 3 4
[2,] 0 0 0 1 0 0 2 2 0 0 2 3 0 3 3 4
[3,] 0 0 1 0 0 2 0 2 0 2 0 3 3 0 3 4
[4,] 0 1 0 0 0 2 2 0 2 0 0 3 3 3 0 4
这样每个方块都会占用一种颜色,使用相应的数字 as.factor() 为具有 1 的单元格着色。
使用
image(first_matrix, col=as.factor(second_matrix),axes=F)
我只得到黑色和蓝色方块,而我想要得到的是(在第二个矩阵中的数字之后)
- 灰色(0s)
- 绿色(1 秒)
- 红色(持续 2 秒)
- 蓝色(持续 3 秒)
- 淡蓝色(4s)
任何见解都会很棒!谢谢:)
你可以试试这个。 R-indexing 以 1 而不是 0 开头):
image( x=1:4, y= 1:16, z=1+yourmat,
col= c("gray","green","red","blue","lightblue") )
yourmat <-
structure(c(0, 0, 0, 0, 1, 0, 0, 0, 2, 2, 2, 0, 3, 3, 3, 4, 0,
0, 0, 1, 0, 0, 2, 2, 0, 0, 2, 3, 0, 3, 3, 4, 0, 0, 1, 0, 0, 2,
0, 2, 0, 2, 0, 3, 3, 0, 3, 4, 0, 1, 0, 0, 0, 2, 2, 0, 2, 0, 0,
3, 3, 3, 0, 4), .Dim = c(4L, 16L))
我有一个像素矩阵如下:
0000 0001 0010 0100 1000 0011 0101 0110 1001 1010 1100 0111 1011 1101 1110 1111
CTR_NCOR 0 0 0 0 1 0 0 0 1 1 1 0 1 1 1 1
CTR_CTRI 0 0 0 1 0 0 1 1 0 0 1 1 0 1 1 1
NCOR_NCORI 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1
NCORI_CTRI 0 1 0 0 0 1 1 0 1 0 0 1 1 1 0 1
我可以使用 R 中的 image()
函数创建像素矩阵,但只能使用两种颜色。
我正在尝试将以下 "matrix of colors" 应用于图像
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16]
[1,] 0 0 0 0 1 0 0 0 2 2 2 0 3 3 3 4
[2,] 0 0 0 1 0 0 2 2 0 0 2 3 0 3 3 4
[3,] 0 0 1 0 0 2 0 2 0 2 0 3 3 0 3 4
[4,] 0 1 0 0 0 2 2 0 2 0 0 3 3 3 0 4
这样每个方块都会占用一种颜色,使用相应的数字 as.factor() 为具有 1 的单元格着色。 使用
image(first_matrix, col=as.factor(second_matrix),axes=F)
我只得到黑色和蓝色方块,而我想要得到的是(在第二个矩阵中的数字之后)
- 灰色(0s)
- 绿色(1 秒)
- 红色(持续 2 秒)
- 蓝色(持续 3 秒)
- 淡蓝色(4s)
任何见解都会很棒!谢谢:)
你可以试试这个。 R-indexing 以 1 而不是 0 开头):
image( x=1:4, y= 1:16, z=1+yourmat,
col= c("gray","green","red","blue","lightblue") )
yourmat <-
structure(c(0, 0, 0, 0, 1, 0, 0, 0, 2, 2, 2, 0, 3, 3, 3, 4, 0,
0, 0, 1, 0, 0, 2, 2, 0, 0, 2, 3, 0, 3, 3, 4, 0, 0, 1, 0, 0, 2,
0, 2, 0, 2, 0, 3, 3, 0, 3, 4, 0, 1, 0, 0, 0, 2, 2, 0, 2, 0, 0,
3, 3, 3, 0, 4), .Dim = c(4L, 16L))