applying multiple colormaps on one barchart using a for loop

I have one set of data in a barchart which I wish to assign 4 different colormaps to if possible. in the matrix, I have R1 (blue), R2-11 (bone), R12 (red), R13-22 (copper) but im unsure how to assign these colours and was hoping to use a for loop with if statements to do it.

 采纳的回答

You can use the CData property of a bar graph and then add a color to it. See here
Possibly it could be something like this without using a for-loop:
b = rand(10, 1);
graph = bar(b);
graph.FaceColor = 'flat';
graph.CData(1:5, :) = repmat([0 1 0], 5, 1);
graph.CData(6:10, :) = repmat([1 0 0], 5, 1);

2 个评论

sorry for the late reply, thank you for you answer, ive added in my own values and variables but it has come back with this error:
Error in combined (line 141) graph.CData(2:11, :) = repmat([0 1 0], 5, 1 );
2:11 is 10 rows, but you are trying to store only 5 rows into it. The 5 in the repmat in the example is the row count.

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Color and Styling 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by