

Therefore, one can claim that to be consistent with Matlab's inheritance model (or simply basic "academic" inheritance consistency) an Octave Legend should inherit its interpreter property (and hence it's associated default as well) from the parent Axes. It seems to me that the other half is this: An Octave Axes does have an interpreter property, and an Octave Legend - analogous to a Matlab Legend - is also documented as being an Axes object, with no mention of inheritance exceptions (at least in the 3.8.1 doc). No argument that it isn't shared/inherited in Matlab - it doesn't even exist in Matlab's Axes to be shared or inherited - but I disagree with your conclusion because it only tells half the compatibility story. So how does this affect the point which you made regarding O/M compatibility? Your point was that since Matlab doesn't inherit Interpreter from its parent, then even though an Octave Axes has an Interpreter property, it should nevertheless not be inherited by Legend since Matlab's doc explicitly says that that property isn't "shared" with its parent Axes.

In other words, Mathworks seems to take the straightforward and ordinary view that every property of a parent object that is applicable to its subclassed child is inherited. "Legends inherit the properties of axes, although not all of them are relevant to legend objects." This interpretation is also supported by the following statement, a few paragraphs earlier in : But that's my recollection from a few years back when I was actively using both M and O, and constantly fighting graphical property inheritance/defaulting issues of this type in order to get complex plots with complex legends to render identically on both systems. Unfortunately, I can't verify this because I no longer have access to a recent version of Matlab. Quite a few of those properties are entirely irrelevant for a Legend (for example all the 'Camera' properties, and many others) but I believe that all those that are relevant to rendering a Legend are inherited as-is. I'm pretty sure that the actual state of affairs in Matlab's Legend object (and even more generally) is that it does in fact inherit all properties from its parent Axes object. What they really meant to say is something like "a legend object also has the following additional properties beyond those inherited from the parent Axes." So drawing the readers' attention to them in a way which implies that they "could have been" shared/inherited, but aren't is totally confusing. Those six properties are simply independent superset properties of a Legend, which, in Matlab, have no relation whatsoever to its parent Axes.

But this doc wording is very misleading and fails to make a key point: All of those bulleted "exceptional" properties are properties which Matlab's Axes object doesn't even have, so naturally they're not available for "sharing", or "inheritance", or in any other way that has anything to do with mutuality between the two objects. Unfortunately, the bullet list of "exceptions" in is described in a very confusing way, as a set of properties which are "not shared" with Axes, and which you then interpreted as meaning "not inherited". The above statements seem to lie at the core of debate on this particular property. a legend is, by Matlab's definition, an axes object that inherits some of its properties from axes, but explicitly not the Interpreter property." In Comment #33, you refer to the Matlab legend doc, specifically the bullet list of six properties: Location, Orientation, EdgeColor, TextColor, Interpreter, String. Maybe this will also give you an idea of where I'm going with this and why I'm being such a fussbudget about it. As mentioned, I do think there's a higher-level importance to this issue of graphical property inheritance that is missing from the detailed discussion so far of this specific case about the Interpreter property.īut let me briefly address here one point from your previous two posts. Unfortunately time is running out this weekend and won't be able to write up the detailed discussion that I mentioned, but will do so at next opportunity, probably next weekend or so. Thanks, your responses do indeed help to understand better.
