Ситуация
Предположим, у меня есть координаты позиций в определенное время. Предположим, что данные будут выглядеть так
data = A[rand(100, 3), sort(rand(100, 1))]
где data(:,1)
координаты x, data(:,2)
координаты y, data(:,3)
высота и data(:,4)
время записи.
Я мог бы легко построить эти данные, используя
pxy = subplot(2,2,1) % Plot for X-Y-Data
plot(data(:,1), data(:,2))
ptx = subplot(2,2,2) % Plot for T-X-Data
plot(data(:,4), data(:,1))
pty = subplot(2,2,3) % ... and so on
plot(data(:,4), data(:,2))
pth = subplot(2,2,4)
plot(data(:,4), data(:,3))
Теперь для просмотра фигур было бы здорово синхронизировать оси.
Первые мысли о возможностях
Тривиальный подход может заключаться в использовании linkaxes
для оси времени, например
linkaxes([ptx, pty, pth], 'x')
Однако это оставляет график xy без изменений. Итак, более слабый вопрос будет заключаться в том, как связать ось Y ptx
с осью X pxy
.
Но давайте еще сложнее:
Собственно вопрос
Предположим, у меня было только два участка, pxy
и pth
. Теперь было бы здорово, если бы всякий раз, когда я масштабирую или панорамирую pxy
, временной интервал, видимый в pxy
, извлекался и соответственно изменялся pth
. Точно так же масштабирование pth
изменяет pxy
таким образом, что видны только данные в правильном временном интервале.
Этот подход должен быть масштабируемым таким образом, чтобы я мог построить произвольное подмножество из 4 возможных графиков, и связь была сделана соответствующим образом.
Любая идея, как это сделать?
Оптимальное решение по-прежнему позволяет изменять эти базовые графики, добавляя дополнительные данные с помощью hold on
.