Выбор оси в плоты - PullRequest
       16

Выбор оси в плоты

4 голосов
/ 03 февраля 2012

Это должно быть довольно просто, хотя я не смог найти решение в документах Matlab.

Мне нужно построить два или более набора данных, которые могут быть вписаны в два разных диапазона.Поэтому я могу использовать plotyy для управления этим.

То, что я хочу сделать, - это возможность после создания графика перезаписать или просто добавить трассы на одну из двух осей выборочно.Я пытался поймать параметры, возвращаемые plotyy, но не смог расшифровать их.

Любая помощь приветствуется.

Ответы [ 2 ]

3 голосов
/ 03 февраля 2012

В документации MATLAB по plotyy говорится, что

[ha, h1, h2] = plotyy(...)

возвращает дескрипторы двух осей, созданных в ha, и дескрипторы графических объектов из каждого графика вh1 и h2.ha(1) - это левые оси, а ha(2) - это правые оси.

Таким образом, первый аргумент, возвращаемый plotyy, является дескриптором каждой из созданных осей.Для построения на левой оси используйте plot(ha(1), x, y) и для построения на правой оси используйте plot(ha(2), x, y).

Если вам не нужны маркеры для графических объектов, вы можете просто использовать ha = plotyy(...).В противном случае h1 и h2 возвращают дескрипторы линий (или другого графического объекта), нанесенных при вызове plotyy.Итак, следуя примеру в документации, установить стили линий для двух линий можно следующим образом:

set(h1, 'LineStyle', '--')
set(h2, 'LineStyle', ':')
2 голосов
/ 03 февраля 2012

Первый вывод PLOTYY - это вектор маркеров оси.

AX = PLOTYY(..)

AX(1) будет дескриптором первой оси.AX(2) будет ручкой для второй оси.

Чтобы добавить график к одной из осей, просто используйте PLOT или LINE.

plot(AX(1), ...)

line('parent',AX(1),'xdata',...)
...