【发布时间】:2011-01-02 23:36:20
【问题描述】:
我试图在同一张图上绘制几个核密度估计值,我希望它们都是不同的颜色。我有一个使用字符串'rgbcmyk' 的混乱解决方案,并为每个单独的图单步执行它,但我在 7 次迭代后开始出现重复项。有没有更简单/更有效的方法来做到这一点,并且有更多的颜色选择?
for n=1:10
source(n).data=normrnd(rand()*100,abs(rand()*50),100,1); %generate random data
end
cstring='rgbcmyk'; % color string
figure
hold on
for n=1:length(source)
[f,x]=ksdensity(source(n).data); % calculate the distribution
plot(x,f,cstring(mod(n,7)+1)) % plot with a different color each time
end
【问题讨论】:
-
您是否尝试过简单地“持有所有”?这会自动为每个新的绘图命令绘制新闻颜色。
-
"hold all" 不是对实际问题的回答,但可能是许多人在这里结束的解决方案,因为仅仅“hold on”会将所有曲线绘制为蓝色。非常感谢@twerdster!
-
从 R2014b 开始,通常的
hold on在功能上等同于hold all。但是,如何获得超过 7 种默认颜色的问题仍然存在。默认颜色图可能是 Azim 所描述的解决方案,或者可以使用生成颜色调整以便于视觉辨别的函数,as below。 -
当我使用
hold all时,我得到了不同颜色的图(尽管我必须说它们看起来很暗淡),而当我使用hold on时,我所有的图都变成了蓝色。所以我想知道什么是功能等价。 -
@HelloGoodbye 在 R2014b 和更新版本中,
hold on提供不同的颜色图。您正在使用旧版本。来自the current docs,“hold all与hold on相同。注意:此语法将在以后的版本中删除。请改用hold on。”另见the release notes。
标签: matlab plot matlab-figure