是否可以将函数errorbar
与矩阵一起使用(因此它会绘制带有误差条的几个图)并为其提供一个用于绘图的颜色矩阵?
我还没有能够完成这项工作。有些尝试是:
x=1:10;
x=[x',x',x',x'];
y=rand(10,4);
e=0.1*rand(10,4);
% automatic colors work:
errorbar(x,y,e);
% custom ones don't (c is a 4 x 3 matrix of colors)
errorbar(x,y,e,c);
errorbar(x,y,e,c');
errorbar(x,y,e,'Color',c);
errorbar(x,y,e,'Color',c');
解决方案是使用for循环(并创建一个函数来重复使用)但我希望有更简单的东西。
答案 0 :(得分:2)
如Errorbar Series Properties文档中所述,颜色属性只能是RGB三元组,颜色字符串或“无”。因此,在调用errorbar
函数期间似乎无法获得所需的行为。
无论如何,你可以在不使用for循环或函数的情况下解决这个问题:
% Number of curves / colors
n = 4;
% Generate data and colors
x = repmat(1:10, [n 1])';
y = rand(10,n);
e = 0.1*rand(10,n);
c = jet(n);
% Plot
h = errorbar(x,y,e);
% Assign new colors
arrayfun(@(x,y) set(x, 'Color', y{:}), h, num2cell(c, 2)');