How to set title for matlab.gra​phics.prim​itive.Imag​e ?

48 views (last 30 days)
How do I set title for `matlab.graphics.primitive.Image`?
K>>h =
Image with properties:
CData: [1024×1530 double]
CDataMapping: 'scaled'
Show all properties
h =
Image with properties:
CData: [1024×1530 double]
CDataMapping: 'scaled'
Show all properties
AlphaData: 1
AlphaDataMapping: 'none'
BeingDeleted: 'off'
BusyAction: 'cancel'
ButtonDownFcn: ''
CData: [1024×1530 double]
CDataMapping: 'scaled'
Children: [0×0 GraphicsPlaceholder]
Clipping: 'on'
CreateFcn: ''
DeleteFcn: ''
HandleVisibility: 'on'
HitTest: 'on'
Interruptible: 'off'
Parent: [1×1 Axes]
PickableParts: 'visible'
Selected: 'off'
SelectionHighlight: 'on'
Tag: ''
Type: 'image'
UIContextMenu: [0×0 GraphicsPlaceholder]
UserData: []
Visible: 'on'
XData: [1 1530]
YData: [1 1024]
K>> gca
ans =
Axes (Why no name) with properties:
XLim: [0.5000 1.5305e+03]
YLim: [0.5000 1.0245e+03]
XScale: 'linear'
YScale: 'linear'
GridLineStyle: '-'
Position: [0 0 1.0000 1]
Units: 'normalized'
Show all properties
K>> set(gca, 'String', 'Why no title')
Error using matlab.graphics.axis.Axes/set
There is no String property on the Axes class.

Accepted Answer

Wi Iy
Wi Iy on 1 Dec 2019
Edited: Wi Iy on 1 Dec 2019
I solved it. It turns out that I create the figure with
h = imshow(newImg, 'Border', 'tight');
Trying to set the title won't work, so I need to remove the `Border` option.

More Answers (1)

Steven Lord
Steven Lord on 1 Dec 2019
image objects don't have either a String or a Title property. The axes in which image objects are contained don't have a String property either, but you can give them a title using the title function.
To ensure you're adding the title on the correct axes use ancestor on the image handle.
h = image(magic(16));
ax = ancestor(h, 'axes');
title(ax, 'title for magic image')

Categories

Find more on Graphics Object Programming in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!