Как частично применить линксы? - PullRequest
4 голосов
/ 24 марта 2011

Скажем, у меня есть четыре графика h1-h4 и я хочу связать все их оси X. Для этого я могу использовать linkaxes([h1 h2 h3 h4], 'x'). Тем не менее, в добавление я хочу связать оси Y h1 и h3 (а также h2 с осями h4). Теперь, когда я использую linkaxes([h1 h3], 'y'), связь по осям X теряется. Как можно получить обе ссылки одновременно?

Ответы [ 2 ]

3 голосов
/ 24 марта 2011

Строки 73 и 74 из linkaxes:

%# Remove any prior links to input handles
localRemoveLink(ax)

Я предлагаю вам создать новую функцию myLinkaxes через «Сохранить как ...», где вы закомментируете строку 74. Еще лучше, если myLinkaxes может принять дополнительный входной аргумент «keep», который используется в предложении if вокруг строк 73 и 74, т. е. если keep равно 1, localRemoveLink не вызывается.

Это должно работать, если вы отдельно связываете оси x и y, но если вы используете аргумент 'xy' до или после, могут возникнуть проблемы.

2 голосов
/ 07 июня 2013

В дополнение к решению, предоставленному Jonas, я думаю, что стоит упомянуть и функцию более низкого уровня linkprop, которая способна связывать, казалось бы, произвольные свойства графических объектов.

Для этого конкретного вопроса желаемый эффект может быть достигнут с помощью следующей последовательности команд:

linkaxes([h1 h2 h3 h4], 'x');
lnkObj = linkprop([h1 h3], 'YLim');

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

Здесь также стоит упомянуть, что linkprop возвращает объект ссылки , который (согласно предыдущей ссылке) "должен существовать в контексте, где вы хотите, чтобы связывание свойств происходило ";в частности, похоже, что в этом случае связывание прекратится, если исчезнут все ссылки на объект ссылки, что является причиной назначения объекта ссылки для указанной выше переменной.Кроме того, ссылка на созданный объект ссылки необходима для изменения деталей того, как соответствующие графические объекты связаны (то есть, какие свойства объектов связаны данным объектом ссылки);см. Обновление объекта Link для получения дополнительной информации (включая список функций, разработанных специально для выполнения таких обновлений).

...