MATLAB: легенда для плоты с несколькими наборами данных - PullRequest
1 голос
/ 17 февраля 2012

Я бы хотел автоматически создавать графики твердости H и модуля Юнга для образцов как функцию нагрузки индентора L.

Моя цель - создать легенду, содержащую маркер черного круга с меткой Образец один, черный квадрат с надписью Образец два и т. Д. Прямо сейчас я получаю легенду о цвете по умолчанию (синий).

Обсуждаются характеристики предшествующей линии там .

Вот мой действительный код MWE:

[m,n]=size(data1); %data1 - m x 3 matrix with data for first sample.
[ax,h1,h2]=plotyy([data1(1:m,1)],[data1(1:m,2)],[data1(1:m,1)],[data1(1:m,3)]);
  %plots 1st sample data

set(h1,'linestyle','o')
set(h2,'linestyle','o')
c1=get(h1,'color);c2=get(h2,'color'); %store colors

line('parent',ax(1),'xdata','[data2(1:m,1)],'ydata',[data2(1:m,2)],...
     'color',c1,'linestyle','s') %plots 2nd sample hardness
line('parent',ax(2),'xdata','[data2(1:m,1)],'ydata',[data2(1:m,3)],...
     'color',c2,'linestyle','s') %plots 2nd sample young's modulus

Спасибо за любой подход и / или исправление.

1 Ответ

1 голос
/ 17 февраля 2012

Если у вас есть дескриптор для каждого из различных элементов, вы можете использовать legend с вектором дескриптора и ячейкой строк легенды.

Пример:

figure
hold all
for i=1:3
    h(i) = plot([i i])
end
ylim([0 4])

legend([h([1 3])], {'aa', 'cc'})
...