Sorry it was my carelessness. The point is the 'NextPlot' property of the axes. The default value is 'replace'. So to make the previous defined handles kept, it should be changed to 'add'.
Does `imshow` just delete all other objects in the axes?
9 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Albert Bing
am 21 Nov. 2020
Bearbeitet: Mario Malic
am 21 Nov. 2020
It seems that imshow just deletes all other objects or handles in the parenting axes. Say I have a script like this
fig = figure;
ax = axes(fig);
text(ax, 0.5, 0.5, 'string');
h0 = findobj(ax, 'Type', 'text');
img = randn(128, 128);
imshow(img); % why is `imshow(ax, img)` illegal?
h = findobj(ax, 'Type', 'text');
h0 is a 1x1 text, but h is empty!
Another wierd behaviour of imshow is that you cannot set the axes in the imshow command, i.e. imshow(ax, img) is not allowed.
Why is imshow so different?
2 Kommentare
Mario Malic
am 21 Nov. 2020
Bearbeitet: Mario Malic
am 21 Nov. 2020
You can also do it that way, or with hold.
Akzeptierte Antwort
Mario Malic
am 21 Nov. 2020
Hello,
To use hold on with handles to axes, this works.
hold(ax, 'on');
To assign image to axes with imshow
imshow(img, 'Parent', ax)
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Graphics Object Properties finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!