Как показать все пользовательские оси в Matlab? - PullRequest
0 голосов
/ 25 октября 2018

Я пишу код для построения графика с пользовательскими галочками (не упорядоченными), таким образом:

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 первых значений ... Как я могу установить ось X на col1, когда col1 не увеличивается (они являются случайными числами), и как я могу сделать так, чтобы он соответствовал точкамЯ хочу показать (col2)?

1 Ответ

0 голосов
/ 25 октября 2018

Вам также необходимо настроить XTick свойство осей, поскольку оно будет использовать столько меток, сколько имеется тиков, рисуя их в порядке с начала вашей col1массив.

У вас есть два основных варианта: показывать все метки (которые будут запутанными, так как у вас 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

...