在MATLAB中绘制时循环颜色

在MATLAB中绘制时循环颜色,matlab,colors,plot,Matlab,Colors,Plot,当我使用按住在同一绘图上绘制多条曲线时,每条曲线默认为相同的颜色(蓝色)。我希望它们有各种不同的颜色 我见过的一种解决方案是制作一个颜色向量,例如c=['k','g','r',…]并在其上循环,但我不喜欢这种解决方案。如果我的绘图数量大于我的颜色向量c的长度,并且我不想在每个文件中都定义c,事情就会破裂 有更好的解决方案吗?尝试使用全部按住。您的曲线应自动在颜色贴图上循环。发件人: 保持全部保持图形和当前线条颜色和线条样式,以便 后续打印命令不会重置颜色顺序,并且 将LineStyleOrder

当我使用
按住
在同一绘图上绘制多条曲线时,每条曲线默认为相同的颜色(蓝色)。我希望它们有各种不同的颜色

我见过的一种解决方案是制作一个颜色向量,例如
c=['k','g','r',…]
并在其上循环,但我不喜欢这种解决方案。如果我的绘图数量大于我的颜色向量
c
的长度,并且我不想在每个文件中都定义
c
,事情就会破裂


有更好的解决方案吗?

尝试使用
全部按住
。您的曲线应自动在颜色贴图上循环。发件人:

保持全部保持图形和当前线条颜色和线条样式,以便 后续打印命令不会重置颜色顺序,并且 将LineStyleOrder属性值添加到列表的开头。策划 命令继续在预定义的颜色和线条之间循环 列表中最后一个图形停止位置的样式


您可以使用
get(gca,'ColorOrder')
检查颜色映射。您还可以通过以下操作更改全局环境的默认
'ColorOrder'
属性:

set(0,'DefaultAxesColorOrder',hsv(10))
其中,我将默认颜色替换为
hsv
colormap提供的一组10种颜色。当然,您也可以使用colormap颜色生成器(
hsv
hot
cooper
lines
,…,使用
doc colormap
了解更多详细信息)中的一种来放置任何其他颜色集,或者只放置任何n x 3矩阵。 如果要使用颜色列表:{黑、绿、红}作为当前轴,您可以执行以下操作:

set( gca,'ColorOrder', [0 0 0; 1 0 0; 0 1 0] )

很好,我知道必须有一个简单的解决方案。从同一页上:“hold all与hold on相同。注意:此语法将在将来的版本中删除。请改用hold on。”的可能重复