Coloured checkerboard in Matlab

6 views (last 30 days)
I'm using the Matlab checkerboard function to create a checkerboard. I'm interested in having the checkerboard as stripes (rather than checks) which I have figured out. I also want to change the colour of the stripes so that it's red and white or red and pink rather than black and white. I don't understand how to do this.
In the Matlab checkerboard function, black is defined as zeros(n) where n is the size and because the colour code for black in Matlab is [0 0 0], this works. But I don't get how to set this for it to produce red coloured tiles or stripes.
I have tried
red = repmat([1 0 0], 81,27)
to get red stripes for a checkerboard that I want with 81 squares. This produces an 81 x 81 matrix that looks like:
1 0 0 1 0 0 1 0 0 .... 1 0 0
1 0 0 1 0 0 1 0 0 .... 1 0 0
1 0 0 1 0 0 1 0 0 .... 1 0 0
.
.
.
1 0 0 1 0 0 1 0 0 .... 1 0 0
And it isn't red, it's just black and white stripes of varying thickness.
Can anyone help?!

Accepted Answer

Walter Roberson
Walter Roberson on 17 Jul 2017
red = repmat(uint8([1 0 0]), 81,27);
cmap = [0 0 0; 1 0 0];
image(red);
colormap(cmap);
  5 Comments
Maheen Siddiqui
Maheen Siddiqui on 18 Jul 2017
The attached is what I end up with when I run this. That's the problem you see, it's not displaying as I'd like it to. There are solid red blocks in the middle instead of a consistent pattern across the board... Do you know why this may be happening?
Maheen Siddiqui
Maheen Siddiqui on 18 Jul 2017
Actually sorry! I had written some very stupid lines in the code that I forgot to comment out. Correcting them gives me the desired result. Thanks very much!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!