Как индивидуально определить свойства линии в plotyy() для нескольких наборов данных, построенных по правой оси Y
Рассмотрим следующий пример из справки MATLAB.
x = linspace(0,10);
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
y3 = 0.2*exp(-0.5*x).*sin(10*x);
figure
[hAx,hLine1,hLine2] = plotyy(x,y1,[x',x'],[y2',y3']);
Мне нужно индивидуально определить цвета для двух графиков на правой оси Y. Кроме того, как мы можем определить цвет текста в правой и левой YLabels?
1 ответ
Решение
Исследовать hLine2
Ручка для второй оси. На самом деле это вектор 2x1 в этом примере, соответствующий дескриптору для первой и второй строк соответственно.
set(hLine2(1), 'Color', desired_color_1)
set(hline2(2), 'Color', desired_color_2)
Точно так же ручка оси, hAx
, является вектором 2x1, который дает вам доступ к свойствам оси левой и правой осей соответственно. Например:
set(hAx(1), 'LineWidth', 2)
Чтобы получить доступ к более глубоким дочерним свойствам, таким как текстовые метки:
h_ylab_1 = get(hAx(1), 'YLabel');
set(h_ylab_1, 'String', 'YLabel text')
set(h_ylab_1, 'Color', desired_text_color)