2015-01-20 5 views
0

, что это неправильно, что я не могу понять, в моем YTickLabel:установка YTickLabel MATLAB

h2=bar(myData); 
ylabels=['1';'1.5';'2';'2.5';'3']; 
set(gca,'XTickLabel',applicationNames),'XTick',applicationNames),'YTickLabel',ylabel)); 

пс: Я попробовал это, а также не имела успеха:

ax=gca 
ax.YTickLabel=['1';'1.5';'2';'2.5';'3']; 

Я получаю эту ошибку :

Error using vertcat 
Dimensions of matrices being concatenated are not consistent. 

ответ

1

Вы пытаетесь создать массив символов. В этом случае вы пытаетесь создать 2D-матрицу, в которой количество столбцов должно иметь одинаковое количество символов, а количество строк - количество меток, которые у вас есть. Для ваших строк максимальное количество символов в столбце равно трем (число/точка/число). Поскольку у вас есть символы длиной 1 (т. Е. Просто число), вы получаете несогласованную ошибку конкатенации, потому что она ожидает, что все символы будут иметь длину 3 в массиве.

Что вам на самом деле нужно использовать - это ячейка массив для размещения непостоянного размера каждого y тик. Поэтому:

ax.YTickLabel={'1';'1.5';'2';'2.5';'3'}; 

В качестве альтернативы, потому что ваши метки номера, вы можете просто использовать числовой массив вместо:

ax.YTickLabel = [1;1.5;2;2.5;3]; 

Массив ячеек символов используется, если вы хотите, чтобы маркировать x и/или y ось должна быть чем-то иным, чем просто числом. Можно маркировать y оси, используя текст, например:

ax.YTickLabel = {'John'; 'Paul'; 'George'; 'Ringo'; 'The Beatles'}; 
+0

спасибо за ответ @rayryeng, я стараюсь, что хорошо. в этом случае я не получаю никакой ошибки (см. это): 'ax = YTickLabel: [1 1.5000 2 20.5000]', но на фактическом графике я не вижу изменений – Amir

+0

@Amir - Do 'axis tight' и посмотреть, что произойдет. Кроме того, совместное использование ваших данных, чтобы мы могли воспроизвести ваш заговор, помогло бы нам не предлагать вещи, которые вы уже пробовали – rayryeng

+0

на самом деле причина, по которой я делаю это, - это kinda 'adjustbarbase', я попробовал файл плагина' .m', но didn Не работай. Все дело в том, что я хотел бы переименовать свой 'YTickLabel' все' + 1'. Кстати, 'axis tight', сильно затяните YTick, поскольку я наблюдаю это сейчас. – Amir

Смежные вопросы