Почему приписывание объекта к объекту заявки на подзаголовок удаляется? - PullRequest
0 голосов
/ 28 августа 2018

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

H1 = subplot('Position',[0.2,0.2,0.2,0.2]);
rectangle('Parent',H1,'Position',[10,20,20,20])

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

screencolor = [0,0,0];
StimWindow = figure('MenuBar','none', ...                    % Build Window for stimulus
    'Color',screencolor);

figuresize = get(0,'ScreenSize'); 

set(StimWindow,'Position',figuresize);
set(0,'defaultaxesposition',[0 0 1 1])
Stimsubfigures{1} = subplot('Position',[0,0,1,1]);       % First subplot figure which spans the entire screen 
set(Stimsubfigures{1},'xLim',[0,100])
set(Stimsubfigures{1},'YLim',[0,100])
set(Stimsubfigures{1},'Visible','off')

% create subplots for stim system 3 plate setup
for aa = 2:4
    Stimsubfigures{aa} = subplot(...
                                'Position',[.01+aa*.21,.2,.2,.2], ...
                                'color','none');
    set(Stimsubfigures{aa},'xLim',[0,100])
    set(Stimsubfigures{aa},'YLim',[0,100])
    set(Stimsubfigures{aa},'Visible','off')
end

OrtDish = rectangle(...
    'Parent',Stimsubfigures{1},...
    'Position', [0,0,100,100],...                            
    'facecolor',screencolor,...
    'edgecolor',[.5,0,0],...
    'curvature',[1,1],...
    'LineWidth',3);

Отображаемая ошибка означает, что объект не может быть прикреплен к удаленному дескриптору. Я сообщу точную ошибку, когда доберусь до компьютера.

Это странно, поскольку дескриптор не был удален, он был сохранен в матрице ячеек.

1 Ответ

0 голосов
/ 28 августа 2018

Проблема возникает из-за перекрытия subplot: вы рисуете полномасштабный участок, а затем поверх него несколько новых.

Как говорит доктор Матлаб,

Если спецификация SUBPLOT приводит к тому, что новые оси перекрывают существующие оси, существующие оси удаляются - если только положения новой и существующих осей не совпадают.

Если вы замените subplot на axes, вам пора.

...