在Matlab2016b中,使用颜色贴图为饼图的切片着色

在Matlab2016b中,使用颜色贴图为饼图的切片着色,matlab,Matlab,这看起来应该比现在容易多了 在Matlab2016b中,我想使用颜色映射为饼图的切片着色 我的数据是三个元素向量,可能包含零。我的彩色地图中有三种颜色需要按照矢量数据的顺序使用 例如: 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; 我尝试了以

这看起来应该比现在容易多了

在Matlab2016b中,我想使用颜色映射为饼图的切片着色

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

例如:

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根据大小对切片进行着色,但我不希望这样。

我手头没有16b。17a中完成了以下工作:

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,:);
说明:
pie
为每个切片返回2个元素,即补丁对象和相应的字符串对象。必须设置面片对象的颜色,即在您的情况下
p(1)
p(3)
、和
p(5)


请注意,我更改了您的
数据
输入。向量为零时,您将收到警告,并且您的可变维度已关闭。

您尝试过哪种方法?你应该提到那些@SardarUsama抱歉,我厌倦了这种方法,但它不起作用
pie(data)
colormap(my_cols)
no?@SardarUsama我得到以下错误
下标索引必须是实正整数或逻辑数。
哪一行给出了该错误?您的工作区/路径中是否有名为
pie
和/或
colormap
的变量或函数覆盖了内置函数?