MATLAB: How Can I Convert a Line Array into a Cell Array

MATLAB

I recently upgraded to a version of MATLAB that uses HG2. In HG1, the output to 'plot' returned an array of numbers representing the graphics objects. I used 'num2cell' to convert the numeric arrays into cell arrays.
In HG2, the output is an array of Line objects:
>> h = plot(rand(4))
h =
4×1 Line array:
Line
Line
Line
Line
How can I convert this array of Lines into a cell array?

Best Answer

  • Both the documentation and the 'help num2cell' command mention that the function 'num2cell' can take in any type of multidimensional array as input, and the array need not be numeric. As this includes arrays of graphics objects, the following command will convert the Line array into a cell array: 
    >> num2cell(h)
    ans =
    4×1 cell array
    [1×1 Line]
    [1×1 Line]
    [1×1 Line]
    [1×1 Line]