7

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

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

有更好的解决方案吗?

4

2 回答 2

11

尝试hold all改用。您的曲线应自动在颜色图上循环。来自help hold

hold all 保存图形和当前线条颜色和线条样式,以便后续绘图命令不会将 ColorOrder 和 LineStyleOrder 属性值重置到列表的开头。绘图命令继续在列表中最后一个图形停止处的预定义颜色和线型之间循环。

您可以使用 来检查颜色图get(gca,'ColorOrder')

于 2012-04-14T00:39:00.487 回答
3

您还可以更改'ColorOrder'全局环境的默认属性:

set(0,'DefaultAxesColorOrder',hsv(10))

我将默认颜色替换为hsvcolormap 给出的一组 10 种颜色。当然,您也可以像我之前所做的那样,使用颜色图颜色生成器( hsv, hot, cooper, lines, ...,用于更多详细信息)中的任何一个来放置任何其他颜色集,或者只是放置任何 nx 3 矩阵。doc colormap如果您想为当前轴使用颜色列表:{black, green, red},您可以:

set( gca,'ColorOrder', [0 0 0; 1 0 0; 0 1 0] )
于 2012-04-14T15:07:47.980 回答