如何在Matlab中显示所有自定义轴?

时间:2018-10-25 14:28:09

标签: matlab matlab-figure

我正在编写代码以这种方式绘制带有自定义刻度的图形(无序):

axes1 = axes('Parent',figure,'XTickLabel',col1);
box(axes1,'on');
hold(axes1,'all');
plot(col2,'b*')
从矩阵中提取 col1和col2(每个都有1000个值)。 col1的第一个值是:120、147、644、940 ...

结果图像如下:enter image description here

您可以看到X轴遵循我提出的顺序,但是应该是1000个值,而不是11个第一个值...当col1不增加(它们是随机数)时,如何将X轴设置为col1?我如何使其适合我要显示的点(col2)?

1 个答案:

答案 0 :(得分:2)

您还必须调整轴的XTick property,因为它将仅使用与刻度线一样多的标签,并从col1数组的开始按顺序绘制它们。 / p>

您有两个常规选项:显示 all 标签(由于您有1000个,因此会变得凌乱)或显示标签样本。这是第一种方法的示例:

% Sample data:
col1 = num2cell('a':'z');
col2 = 1:26;

axes1 = axes('Parent', figure, 'XTick', 1:numel(col1), 'XTickLabel', col1);
box(axes1, 'on');
hold(axes1, 'all');
plot(col2, 'b*');

enter image description here


这是第二种方法的示例,仅显示每五个标签:

axes1 = axes('Parent', figure, 'XTick', 1:5:numel(col1), 'XTickLabel', col1(1:5:end));
box(axes1, 'on');
hold(axes1, 'all');
plot(col2, 'b*');

enter image description here