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.

 採用された回答

KARSH THARYANI
KARSH THARYANI 2018 年 6 月 21 日
編集済み: KARSH THARYANI 2018 年 6 月 21 日

0 投票

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 件のコメント

Glowworm8
Glowworm8 2018 年 6 月 25 日
編集済み: Glowworm8 2018 年 6 月 25 日
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 );
Walter Roberson
Walter Roberson 2018 年 6 月 25 日
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