Clear Filters
Clear Filters

Can we list all possible values for a property of a MATLAB object without going via help/doc ?

2 views (last 30 days)
To be clear, I will be specific, but the question is for the general case (the more general, the better)
Consider that you have a graphics object, say axes with handle axH. You wish to set the 'NextPlot' property of that object to something else than the default value, but you cannot recall the possible notation to do so... Hence, you must open the documentation to find the acceptable values. In a perfect MATLAB world, it would be better to be able to do something similar to 'get', for example:
>> axH = axes();
>> getPossibleValues(axH.NextPlot)
ans =
'replace'
'add'
'replaceall'
'replacechildren'

Accepted Answer

Walter Roberson
Walter Roberson on 8 Jan 2017
Not in any simple form, no. For graphics objects and for a number of other different kinds of objects, there is a method:
axH = axes();
set(axH,'NextPlot')
4×1 cell array
'add'
'replace'
'replacechildren'
'replaceall'
and when you do not know the property name:
set(axH)
ALim: {}
ALimMode: {'auto' 'manual'}
ActivePositionProperty: {'position' 'outerposition'}
AmbientLightColor: {1×0 cell}
Box: {'on' 'off'}
BoxStyle: {'full' 'back'}
[...]
This only displays non-hidden properties, and only works for objects that use the get/set interface. It does not, for example, work for Java objects.
  2 Comments
Ronny Landsverk
Ronny Landsverk on 8 Jan 2017
Edited: Ronny Landsverk on 8 Jan 2017
@Walter: Thanks for rapid response. It is surprising to me that 'set' with no property value will return those
Image Analyst
Image Analyst on 8 Jan 2017
Some properties do not have a discrete set of potential values, for example the xlim() property of an axes. The value could be virtually anything (excep +/- infinity).

Sign in to comment.

More Answers (0)

Categories

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

Community Treasure Hunt

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

Start Hunting!