Отображение всех опций легенды, даже если они не нанесены на график - PullRequest
0 голосов
/ 08 декабря 2018

У меня есть for loop, который разбрасывает все значения из матрицы, которая ниже требуемого значения.

for loop выглядит следующим образом:

CM = jet(size(Length,1));
for i = 1:size(Length,1)
    Legend{i} = ['test = ', num2str(CSpan(i,1)) ,'[mm]'];
end

figure
subplot(3,1,1)
for i = 1 : size(Length,1)
    for j = 1 : size(Length,2)
        hold on
        if M_Roll(i,j) < Req_Moment && M_Roll(i,j) > 0    
            scatter(Length(i,j),M_Roll(i,j),'MarkerFaceColor',CM(i,:),'MarkerEdgeColor',CM(i,:))                    
        end
    end
end
grid on
legend(Legend,'Location','northwest','NumColumns',4)
title('Graph of Moment vs Length for Different','Interpreter','latex')
xlabel('Length [mm]','Interpreter','latex')
ylabel('Moment [N*m]','Interpreter','latex')
set(gca,'Fontsize',13)
ylim([0 Req_Moment + Req_Moment/10])

Теперь результатможет быть, что это разбросано где-то как 200 баллов.Легенда может отображать только 50 значений, и это означает, что цвет 50 легенд будет из первых 50 разбросанных.

Есть ли способ просто обозначить легенду всеми легендами, которые я хочу (которых в основном только 12), дажеесли на графике он рассеивает 200 очков?

Пример того, что я сейчас получаю:

enter image description here

Понятно, что сейчасон не отображает 12 цветов в моей легенде, как должно было быть Jet.

Спасибо.

РЕДАКТИРОВАТЬ:

Проблема решенаиспользуя следующее:

figure
subplot(3,1,1)
for i = 1 : size(Length,1)
    for j = 1 : size(Length,2)
        hold on
        if M_Roll(i,j) < Req_Moment && M_Roll(i,j) > 0    
            h1 = scatter(Length(i,j),M_Roll(i,j),'MarkerFaceColor',CM(i,:),'MarkerEdgeColor',CM(i,:));                    
        end
    end
end   
for i = 1:size(Length,1)
    hold on
    Legend{i} = ['test = ', num2str(CSpan(i,1)) ,'[mm]'];
    h1(i) = scatter(NaN,NaN,'MarkerFaceColor',CM(i,:),'MarkerEdgeColor',CM(i,:));
end

grid on
legend(h1,Legend,'Location','northwest','NumColumns',4)
...