Generally, I try to store the results of my data analysis jobs in a structured and reusable form in Matlab files. In these files I try to store these data in Matlab native data types (like structs, arrays, tables, ...).
For the visualization I create functions that creates the visualization based on these data structures. Therefore, I don't need to store Matlab figures because they can be reconstructed quickly. For improving my visualization, I only must tweak my visualization functions.
For sharing my results, I typically use graphics files like (pdf, svg, png or jpeg). But I would prefer to share more interactive results in a vendor neutral format like it's done in plotly (Plotly Open Source Graphing Libraries). In this case I can share results to colleagues who are not using Matlab in a very user-friendly form. I am very dissatisfied with the Matlab implementation of the data analysis functions (histogram, boxplot, Rainflow counting and spectral analysis). I therefore had to implement these functions myself. For each of these analysis functions I have a class that implements methods for scaling, shifting, weighting, combining and visualization. These objects can be easily saved and loaded. It is therefore not necessary to save Matlab Figures.
Matlab has a non-transparent user interface for these analysis functions. A negative example is the histogram function: If I use the histogram function with outputs, I get the results but then I must create my visualization with basic Matlab plot functions. If I use histogram to create the visualization, then all my samples (typically millions to billions of data points) are included in the figure which increases the size of the figure file (e.g. 100 million data points creates a file size of 1.44GB). Nevertheless, it’s not possible to scale the data or combine different results.
From my point of view the demand to store figures comes from the bad design of MATLAB’s basic data analysis functions. Matlab should encourage user to separate data and analysis results from visualization code. First, in their own functions. To share results vendor neutral interactive html graphics like it’s produced by plotly would be the best.