在Matlab中很容易创建Bar图: data = [3, 7, 5, 2;4, 3, 2, 9;6, 6, 1, 4]; b = bar(data);
在Matlab中如何让Bar图的每一个Bar颜色不同? 下面是一个例子:
data = [3, 7, 5, 2;4, 3, 2, 9;6, 6, 1, 4]; b = bar(data); ch = get(b,'children'); set(ch{1},'FaceVertexCData',[1;1;1;1;2;2;2;2;3;3;3;3;4;4;4;4]) set(ch{2},'FaceVertexCData',[1;1;1;1;2;2;2;2;3;3;3;3;4;4;4;4]) set(ch{3},'FaceVertexCData',[1;1;1;1;2;2;2;2;3;3;3;3;4;4;4;4]) set(ch{4},'FaceVertexCData',[1;1;1;1;2;2;2;2;3;3;3;3;4;4;4;4])
解释: [1;1;1;1;2;2;2;2;3;3;3;3;4;4;4;4] 是要设置的颜色,要更改这里的颜色,既可以使用Indexed,也可以使用True Color,详见FaceVertexCData help文档。
data = [3, 7, 5, 2]; b = bar(data); ch = get(b,'children'); set(ch,'FaceVertexCData',[0 0 1;0 1 1;1 1 1;1 0 1;])
转自:http://summerbell.iteye.com/blog/451679 |