Как индивидуально определить свойства линии в 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)
Другие вопросы по тегам