在matlab 2016b中,使用色彩图为饼图的切片着色

时间:2017-04-19 06:05:50

标签: matlab

这似乎应该比它更容易......

在matlab 2016b中,我想使用色彩图为饼图的切片着色。

我的数据是三个元素向量,可能包含零。我的色彩图中有三种颜色需要按照矢量数据的顺序使用。

例如:

data = [1 0 1];
my_cols = [1.0000 0.8398 0; 0.8594 0.0781 0.2344; 0.2539 0.4102 0.8789];
labels = {'','',''};
p = pie(data,labels);
p.Patch = my_cols;

我尝试了以前建议的各种方法,但似乎与2016b版本无关。

请注意,我需要数据的第一个元素始终与colormap中的第一个颜色相对应。我认为Matlab根据大小对切片进行着色,但我不希望这样。

1 个答案:

答案 0 :(得分:1)

我手头没有16b。以下是在17a中完成的:

<input name="number" required type="number" pattern=".{9,20}" title="Please Enter Your Number at least 9 Digit" />

说明:data = [1 0.5 1]; my_cols = [1.0000 0.8398 0; 0.8594 0.0781 0.2344; 0.2539 0.4102 0.8789]; labels = {'','',''}; p = pie(data,labels); p(1).FaceColor = my_cols(1,:); p(3).FaceColor = my_cols(2,:); p(5).FaceColor = my_cols(3,:); 为每个切片,补丁对象和相应的字符串对象返回2个元素。您必须设置补丁对象的颜色,例如您的piep(1)p(3)

请注意,我更改了您的p(5)输入。使用向量中的零,您将收到警告,并且您的可变尺寸已关闭。