2012-03-05 36 views
0

举个例子,我想要做的恰恰是以下几点:是否有可能在Matlab中循环MarkerFaceColor?

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专家。

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

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

干杯,

本。

回答

0

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

所以,我认为类似于下面的东西应该工作:

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

感谢robince,我认为这可能做的工作。(只是验证:-)) – 2012-03-05 21:28:04

相关问题