我有以下代码(可以工作)执行imshow栅格数据,然后在标记列表顶部绘制红点(即基础层是星星图像,叠加层是标记它们的红点)。
function plot(this)
imshow(WORLD.image, [0 1]);
hold on
plot([this.centers.x], [this.centers.y], 'r.');
hold off
end
好的,现在我正在使用GUIDE创建GUI,我使用parent属性来显示ui轴内的图像。该部分有效,但情节似乎没有采取父,除了坚持和推迟不起作用(它创建一个新的窗口与情节)。我该如何解决? [handles.pictureBox是轴控制的句柄]
imshow(WORLD.mask, [0 1], 'Parent', handles.pictureBox);
hold on
plot([p.centers.x], [p.centers.y], 'r.', 'Parent', handles.pictureBox);
hold off
我观察到的是,如果我取消保持,按住,则基本图像将被图表替换。但如果我把它留在里面,同样的事情就会发生,但也会出现一个弹出窗口。
哦,是的,在图像和绘图之间保持轴的比例是非常重要的。现在,我看到情节调整x,y界限。如果imshow是1K x 1K的图像,那么我希望绘图范围完全相同,以便标签覆盖。
答案 0 :(得分:3)
情节确实接受父句柄,请查看this help page:
plot(handles.pictureBox,[p.centers.x], [p.centers.y], 'r.');
此外,hold
也接受轴处理。您可以使用以下内容:
hold(handles.pictureBox,'on');
(或'off'
显然......)