是否可以在Matlab中循环使用MarkerFaceColor?

时间:2012-03-05 18:52:14

标签: matlab

作为一个例子,我想要做到以下几点:

cc=gray(100);

for i=1:100
    plot(i,i,'o','MarkerFaceColor',cc(i,:,:));
    hold on;
end;

...但没有for循环,即自动迭代 - 如:

i=1:100;
plot(i,i,'o','MarkerFaceColor',cc(i,:,:));

显然以下工作:

i=1:100;
plot(i,i,'o');

...但我希望matlab自动迭代每个新绘制点的颜色空间。在实践中,我有一个更复杂的例子,使用嵌入式for循环,但这需要很长时间才能绘制。注:我真的不是matlab专家。

无论如何,我希望这是可能的,如果是这样,那么正确的语法可能是什么。

感谢阅读和您可能有的任何见解,

干杯,

本。

1 个答案:

答案 0 :(得分:0)

检查scatter功能。它需要一个额外的颜色矢量,您可以从色彩图中自己构建。添加'filled'选项作为最后一个参数将填充标记。

所以我认为以下内容应该有效:

cm = gray(100);
x = 1:100;
scatter(x,x,[],cm,'filled')