Я использую 64-битный Matlab R2010a на Windows 7 (это может быть актуально, если это неясная ошибка рендеринга)
это, очевидно, странная ошибка, которая проявляется, когда текстовый интерпретатор латекс
set(0, 'DefaultTextInterpreter', 'Latex');
этот код создаст синее поле с черной рамкой и легенду вне осей
cla reset;
patch ([0.5 0.5 0.75 0.75 0.5], [0.5 0.75 0.75 0.5 0.5], 'b', 'FaceAlpha',1);
xlim([0 1]);
ylim([0 1])
legend ('blah', 'Location', 'bestOutside')
Если я изменю код, чтобы в патче было непрозрачное альфа-значение,
cla reset;
patch ([0.5 0.5 0.75 0.75 0.5], [0.5 0.75 0.75 0.5 0.5], 'b', 'FaceAlpha',0.5);
xlim([0 1]);
ylim([0 1]);
legend ('blah', 'Location', 'bestOutside')
Я получаю пустой черный ящик вместо заполненного, и оси меняются правильно, чтобы разместить легенду снаружи, но без легенды.
Патч также исчезает, если я запускаю всекод до легенды, затем нажмите «Редактировать сюжет» в меню рисунка.Патч не появляется снова после снятия флажка «Редактировать сюжет».Свойства фигур и осей (с использованием соответственно get (gcf) и get (gca)) идентичны до и после нажатия и снятия флажка «Редактировать график»
Изменение размера окна рисунка не приводит к исчезновению патча.Изменение размеров осей из командной строки:
p = get(gca, 'Position');p(3) = p(3)/2;set (gca, 'Position', p)
не приводит к исчезновению патча.
Я попытался установить opengl в аппаратный и программный режим (с использованием оборудования opengl, программного обеспечения opengl) ине нашел никакой разницы.