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

8 次查看(过去 30 天)
In MATLAB R2014a, I could access the individual children of a legend using the following command:
get(legendHandle,'Children')
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?

采纳的回答

MathWorks Support Team
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
  2 个评论
Walter Roberson
Walter Roberson 2015-11-25
Michael, those things are gone and there is no viable work-around. The representation is completely different now.
Mathworks has been adding additional properties to allow more of these items to be controlled; the flexibility of R2015b is improved relative to R2015a which in turn was more flexible than R2014b.
You know how to work the system. If FaceAlpha does not show up correctly in legends then open a technical support case on the topic.
Walter Roberson
Walter Roberson 2016-11-7
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.

请先登录,再进行评论。

更多回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Graphics Object Programming 的更多信息

产品


版本

R2014b

Community Treasure Hunt

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

Start Hunting!

Translated by