What handle graphics objects have an empty 'Children' property in MATLAB R2014b?

10 views (last 30 days)
In MATLAB R2014a, I could access the individual children of a legend using the following command:
When I execute the same comamnd in MALTAB R2014b, I get an empty array. Why is this so? What other graphics objects exhibit similar behavior?

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 28 Aug 2014
In R2014a and earlier, chart objects, legends, and colorbars contain handles to underlying objects in their Children properties. For example, a scatter series contains patch objects in its Children property. Changing property values of the patch object changes the appearance of the scatter series.
Starting in R2014b, these objects do not contain handles to underlying objects in their Children properties. To customize the graph, use properties of the actual object.
These are the affected objects:
  • Colorbar
  • Legend
  • Area
  • Bar series
  • Contour
  • Errorbar series
  • Scatter series
  • Stair
  • Stem series
  • Quiver series
Walter Roberson
Walter Roberson on 7 Nov 2016
In HG2, contour creates matlab.graphics.chart.primitive.Contour which is built-in (cannot see the generating code).
There is an EdgePrims property which is an array of class matlab.graphics.primitive.world.LineStrip which contain information about the individual contour lines that are drawn. These are not line() objects such as are used by plot. You can change their color and specular coefficients and color diffusion. There is a StripData property that looks like it might be indices into the VertexData property so possibly you can access the coordinates of the lines (but that was always possible by decoding the contour matrix.) You can set the LineStrip visible or not. But they are not objects that you can legend() -- the contour plot as a whole has a legend but not the lines on the contour.

Sign in to comment.

More Answers (2)

James Shanley
James Shanley on 20 Nov 2014
So how does one enlarge the size of the dots in the legend now? (in case the scatter has tiny dots but the legend needs to have larger ones in order to see the color)

Johannes Korsawe
Johannes Korsawe on 26 Jan 2015
And how to make filled contours semi-transparent? Contour object can either be filled or not, but there is no such thing as FaceAlpha.




Community Treasure Hunt

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

Start Hunting!