Отображение изображения в желаемом масштабе по осям вспомогательного участка - PullRequest
1 голос
/ 01 февраля 2012

Можно ли отобразить изображение по нескольким осям вспомогательных участков, чтобы изображение отображалось в желаемом масштабе?

subplot(3,3,[1 4 7]);
%# image scaled down to fit 1 set of axes
imshow(img);
subplot(3,3,2);
plot(relevantData);
%# And so on with 5 other plots

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

Мой вариант использования - показать видео рядом с графиками, полученными из видео, так что графики постепенно отрисовываются в соответствии с видео. После правильного отображения я могу сохранить каждое изображение и объединить его в видео.

Разъяснение

Я спрашиваю, возможно ли создать фигуру, как описано без указания положения каждого элемента в абсолютном выражении. Хотя таким образом можно сделать произвольные фигуры (и фактически я сделал это для этого проекта), это очень утомительно.

1 Ответ

2 голосов
/ 01 февраля 2012

Редактировать:

Для изменения размера подплота:

В help subplot они упоминают, что вы можете установить параметры для выбранных "осей" (это то, что они называют областью построенияв Matlab).

Используя это, вы можете установить «положение», как показано в help axes.Это свойство принимает в качестве аргумента:

[left, bottom, width, height]

Как указывает @reve_etrange, следует использовать абсолютное позиционирование для параметров осей 'Position' и 'OuterPosition'.однако они могут быть в нормализованных координатах.

Для изменения размера изображения в подзаговоре:

Я думаю, что в выводе help imshow есть 2 полезных вещи:

  1. 'InitialMagnification': установка увеличения изображения.
  2. 'Parent': определяет, какой родительский imshow будет использовать для вставки изображения (никогда не пытался использовать imshow с вложенными сюжетами).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...