как решить проблему, возникающую из-за xlim в matlab?

#matlab #matlab-figure

Вопрос:

Следующий код MatLab, который я использую для построения графика:

 path1 = '/DATA/sanjay/VT-GAN-master/new_Results_for_diverse_features/nm_to_nm/';
list1 = dir(path1);
fName1 = {list1.name};
[~,y1]=size(fName1);
path1
vector = [];
title = {'000','018','036','054','072','090','108','126','144','162','180'};
title = categorical(title);
x_axis = {'01','02','03','04','05','06','07','08','09','10'};
x_axis = categorical(x_axis);
mat1 = [];
for num1=3:y1
    path2 = char(strcat(path1,fName1(num1)));
    data = readtable(path2);
    data = data{:,:};    
    mat1 = [mat1;mean(data)];
end
mat1

data01 = mat1(:,1);
data02 = mat1(:,2);
data03 = mat1(:,3);
data04 = mat1(:,4);
data05 = mat1(:,5);
data06 = mat1(:,6);
data07 = mat1(:,7);
data08 = mat1(:,8);
data09 = mat1(:,9);
data10 = mat1(:,10);
data11 = mat1(:,11);

figure,
plot(x_axis,data01,'- ',x_axis,data02,'-*',x_axis,data03,'-o',x_axis,data04,'-x',x_axis,data05,'-s',x_axis,data06,'-d',x_axis,data07,'-p',x_axis,data08,'-h',x_axis,data09,'-^',x_axis,data10,'->',x_axis,data11,'-<','linewidth',2,'MarkerSize',12);
xlim([1 10])
lgd = legend('Probe angle: 000','Probe angle: 018','Probe angle: 036','Probe angle: 054','Probe angle: 072','Probe angle: 090','Probe angle: 108','Probe angle: 126','Probe angle: 144', 'Probe angle: 162','Probe angle: 180');
lgd.FontSize = 18;
lbx = xlabel('Rank from one to ten for nm to nm gallery and probe set','fontname','times');
lby = ylabel('Average accuracy in percentage (%)','fontname','times') ;
lbx.FontSize = 18;
lby.FontSize = 18;
set(gca,'FontWeight','bold')
 

Но я получаю следующую ошибку из-за xlim:

 Error using xlim (line 31)
Value must be a 2-element vector of increasing or equal categorical values as ordered by the ruler Categories property.

Error in Rank_based_Curv (line 34)
xlim([1 10])
 

как мне ограничить индекс от 01 до 10 и удалить лишние части с обеих сторон по оси X?

Комментарии:

1. Ваша ось x представляет собой categorical массив, и вы пытаетесь установить его границы для некоторых числовых значений, неясно (для MATLAB), как вы ожидаете, что это сработает, они не сопоставимы. Это описано в сообщении об ошибке. Возможно, вы хотите создать порядковый категориальный

2. Я знаю и понимаю это, но для определения аргумента внутри xlim([ ? ? ]), которого я не знаю. Пожалуйста, укажите аргументы

3. Вы посещали документацию, на которую я ссылался? Если вы определяете категориальный как порядковый, я думаю, что ваш существующий синтаксис может работать