为什么“DefaultAxesMarkerOrder”不起作用?

时间:2014-03-01 17:29:59

标签: matlab plot formatting matlab-figure markers

我有一组包含> 7组数据。

默认颜色全部使用一次后(即使用前7组数据)我想要更改标记样式,并且每次为每个标记使用所有7种颜色时重复此标记。

我已成功使用以下方式更改了线条样式:

set(0, 'DefaultAxesLinestyleOrder', '-|--|-.');

然而将此更改为:

set(0, 'DefaultAxesMarkerOrder', '.|+|^|s');

返回错误:

Error using set
Invalid property found.
Object Name: axes
Property Name: 'MarkerOrder'.

我不确定为什么替换'Marker'不起作用。可能因为默认情况下没有标记?虽然我尝试添加:

plot(nbead,x,'.')

问题没有解决。

有人知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

MATLAB没有默认的标记顺序。相反,您可以在线条样式规范中指定标记顺序,如下所示:

set(0, 'DefaultAxesLinestyleOrder', '-o|--^|-.');

MATLAB使用的循环也被锁定为颜色顺序,因此要查看其他符号,您可能会将颜色顺序更改为更短:

set(0,'DefaultAxesColorOrder',[1 0 0; 0 1 0]);

然后您可以运行以下代码来显示事情的变化:

set(0,'DefaultAxesColorOrder',[1 0 0; 0 1 0]);
set(0, 'DefaultAxesLinestyleOrder', '-o|--^|-.');

n = 15;
data = (diag(1:n) * ones(n))';

figure;
hold all
plot(data)

对于以下输出:

Example Image

您可以参考Matlab axes documentation获取有关轴属性的更多信息。