2%> This is the base
class for generating instances of objects
3%> that contain the specifications of various types of figures.<br>
6%> This is a
generic class for generating
7%> figures containing a **single** subplot (axes).<br>
10%> See the documentation of the constructor of the
class
11%> [pm.vis.Plot](@ref
Plot::Plot)
for example usage.<br>
14%> See the documentation of the attributes
15%> of the superclass [pm.vis.figure.Figure](@ref
Figure).<br>
18%> [pm.vis.Cascade](@ref
Cascade)<br>
19%> [pm.vis.Subplot](@ref
Subplot)<br>
20%> [pm.vis.Triplex](@ref
Triplex)<br>
21%> [pm.vis.Figure](@ref
Figure)<br>
22%> [pm.vis.Plot](@ref
Plot)<br>
23%> [pm.vis.Tile](@ref
Tile)<br>
27%> \AmirShahmoradi, July 5 2024, 1:07 PM, NASA Goddard Space Flight Center (GSFC), Washington, D.C.<br>
28classdef
Plot < pm.vis.figure.Figure
30 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
32 properties(Access =
public)
36 %> The scalar
object of superclass [pm.vis.Subplot](@ref
Subplot)
37 %> representing the set of subplots to display in the figure.<br>
42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
44 methods(Access =
public)
46 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
49 %> \param[in] subplot : The input scalar
object of superclass [pm.vis.Subplot](@ref
Subplot).<br>
50 %> The input ``subplot``
object must minimally have the ``make()`` and ``reset()`` methods.<br>
51 %> \param[in] varargin : Any ``property, value`` pair of the parent
object.<br>
52 %> If the
property is a ``
struct()``, then its value must be given as a cell array,
53 %> with consecutive elements representing the
struct ``property-
name, property-value`` pairs.<br>
54 %> Note that all of these property-value pairs can be also directly set via the
55 %> parent
object attributes, before calling the ``make()`` method.<br>
56 %> The input ``varargin`` can also contain the components
57 %> of the ``subplot`` component of the parent
object.<br>
60 %> ``self`` : The output scalar
object of
class [pm.vis.Plot](@ref
Plot).<br>
65 %> plot = pm.vis.
Plot(subplot);
66 %> plot = pm.vis.Plot(subplot, varargin);
71 %> The input ``varargin`` can also contain the components
72 %> of the ``subplot`` component of the parent
object.<br>
75 %> See the
list of
class attributes below,
76 %> also those of the superclass [pm.vis.figure.Figure](@ref
Figure).<br>
79 %> \include{lineno} example/vis/
Plot/main.m
81 %> <br>\image html example/vis/
Plot/
PlotLine.1.png width=700
100 %> \JoshuaOsborne, May 21 2024, 9:32 AM, University of Texas at Arlington<br>
101 %> \AmirShahmoradi, July 5 2024, 1:07 PM, NASA Goddard Space Flight Center (GSFC), Washington, D.C.<br>
102 function self =
Plot(subplot, varargin)
103 varargin = {
"subplot", subplot, varargin{:}};
104 self = self@pm.vis.figure.Figure(varargin{:});
107 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
110 %> Reset the properties of the plot to the original
default settings.<br>
113 %> Use
this method when you change many attributes of the plot and
114 %> you want to
clean up and go back to the
default settings.<br>
116 %> \param[inout] self : The input/output parent
object of
class [pm.vis.Subplot](@ref
Subplot)
117 %>
which is **implicitly** passed to
this dynamic method (not by the user).<br>
118 %> \param[in] varargin : Any ``property, value`` pair of the parent
object.<br>
119 %> If the
property is a ``
struct()``, then its value must be given as a cell array,
120 %> with consecutive elements representing the
struct ``property-
name, property-value`` pairs.<br>
121 %> Note that all of these property-value pairs can be also directly set via the
122 %> parent
object attributes, before calling the ``make()`` method.<br>
127 %> pm.vis.Plot.reset() % reset the plot to the
default settings.
132 %> The input ``varargin`` can also contain the components
133 %> of the ``subplot`` component of the parent
object.<br>
138 %> \JoshuaOsborne, May 21 2024, 9:35 AM, University of Texas at Arlington<br>
139 %> \FatemehBagheri, May 20 2024, 1:25 PM, NASA Goddard Space Flight Center (GSFC), Washington, D.C.<br>
140 %> \AmirShahmoradi, May 16 2016, 9:03 AM, Oden Institute
for Computational Engineering and Sciences (ICES), UT Austin<br>
141 function reset(self, varargin)
143 [varfig, varsub] = pm.matlab.hashmap.popKeyVal([
"figure",
"subplot"], varargin);
144 reset@pm.vis.figure.Figure(self, varfig{:});
145 self.subplot.reset(varsub{:});
147 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
148 %%%% RULE 0: Any non-MATLAB-
default setting must be preferably set in premake() method to override user null values.
149 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
153 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
156 %> Configure the plot settings and specifications,
157 %> make the plot, and return nothing.<br>
160 %> In making the figure, this method we call the ``make()`` methods of
161 %> each of the subplot objects stored in the ``subplot`` component.<br>
164 %> This method has side-effects by manipulating
165 %> the existing attributes of the parent
object.<br>
167 %> \param[inout] self : The input/output parent
object of class [pm.vis.
Subplot](@ref
Subplot)
168 %>
which is **implicitly** passed to this dynamic method (not by the user).<br>
169 %> \param[in] varargin : Any ``property, value`` pair of the parent
object.<br>
170 %> If the property is a ``struct()``, then its value must be given as a cell array,
171 %> with consecutive elements representing the struct ``property-
name, property-value`` pairs.<br>
172 %> Note that all of these property-value pairs can be also directly set via the
173 %> parent
object attributes, before calling the ``make()`` method.<br>
178 %> p = pm.vis.Plot.make(varargin);
183 %> The input ``varargin`` can also contain the components
184 %> of the ``subplot`` component of the parent
object.<br>
187 %> \include{lineno} example/vis/
Plot/main.m
189 %> <br>\image html example/vis/
Plot/
PlotLine.1.png width=700
190 %> <br>\image html example/vis/
Plot/
PlotLine3.1.png width=700
208 %> \JoshuaOsborne, May 21 2024, 9:37 AM, University of Texas at Arlington<br>
209 %> \FatemehBagheri, May 20 2024, 1:25 PM, NASA Goddard Space Flight Center (GSFC), Washington, D.C.<br>
210 %> \AmirShahmoradi, May 16 2016, 9:03 AM, Oden Institute
for Computational Engineering and Sciences (ICES), UT Austin<br>
211 function make(self, varargin)
213 [varfig, varsub] = pm.matlab.hashmap.popKeyVal([
"figure",
"subplot"], varargin);
214 make@pm.vis.figure.Figure(self, varfig{:});
215 self.subplot.make(varsub{:});
216 if isprop(self.subplot,
"axes") % Heatmap does not accept ``hold``.
222 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
226 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
228 methods(Access =
public, Hidden)
230 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
233 %> Configure the plot settings and specifications and
return nothing.<br>
236 %> This method has side-effects by manipulating
237 %> the existing attributes of the parent
object.<br>
239 %> \param[inout] self : The input/output parent
object of
class [pm.vis.Subplot](@ref
Subplot)
240 %>
which is **implicitly** passed to
this dynamic method (not by the user).<br>
241 %> \param[in] varargin : Any ``property, value`` pair of the parent
object.<br>
242 %> If the
property is a ``
struct()``, then its value must be given as a cell array,
243 %> with consecutive elements representing the
struct ``property-
name, property-value`` pairs.<br>
244 %> Note that all of these property-value pairs can be also directly set via the
245 %> parent
object attributes, before calling the ``premake()`` method.<br>
247 %> \interface{premake}
250 %> f = pm.vis.Plot.premake(varargin);
256 %> f = pm.vis.Plot(pm.vis.Line());
257 %> f.premake(
"figure", {
"color",
"none"})
262 %> \JoshuaOsborne, May 21 2024, 9:39 AM, University of Texas at Arlington<br>
263 %> \FatemehBagheri, May 20 2024, 1:25 PM, NASA Goddard Space Flight Center (GSFC), Washington, D.C.<br>
264 %> \AmirShahmoradi, May 16 2016, 9:03 AM, Oden Institute
for Computational Engineering and Sciences (ICES), UT Austin<br>
265 function premake(self, varargin)
267 [varfig, varsub] = pm.matlab.hashmap.popKeyVal([
"figure",
"subplot"], varargin);
268 premake@pm.vis.figure.Figure(self, varfig{:});
270 self.subplot.hash2comp(varsub);
273 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
274 %%%% These settings must happen here so that they can be reset every time user nullifies the values.
275 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
279 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
283 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function name(in vendor)
Return the MPI library name as used in naming the ParaMonte MATLAB shared library directories.
function list()
Return a list of MATLAB strings containing the names of OS platforms supported by the ParaMonte MATLA...
This is the abstract class for generating instances of objects that contain the specifications of a c...
This is the Contour3 class for generating instances of 3-dimensional Contour Plot visualizations base...
This is the PlotContour class for generating instances of 2-dimensional Contour Plot visualizations b...
This is the PlotContourf class for generating instances of 2-dimensional Contourf Plot visualizations...
This is the PlotEllipse3 class for generating instances of 3-dimensional Ellipse Plot visualizations ...
This is the PlotEllipse class for generating instances of 2-dimensional Ellipse Plot visualizations b...
This is the PlotHeatmap class for generating instances of 2-dimensional Heatmap Plot visualizations b...
This is the Histfit class for generating instances of 2-dimensional Histfit Plot visualizations based...
This is the PlotHistogram2 class for generating instances of 2-dimensional Histogram2 Plot visualizat...
This is the PlotHistogram class for generating instances of 1-dimensional Histogram Plot visualizatio...
This is the PlotLine3 class for generating instances of 3-dimensional Line Plot visualizations based ...
This is the PlotLineScatter3 class for generating instances of 3-dimensional Line-Scatter Plot visual...
This is the PlotLineScatter class for generating instances of 2-dimensional Line-Scatter Plot visuali...
This is the PlotLine class for generating instances of 2-dimensional Line Plot visualizations based o...
This is the PlotScatter3 class for generating instances of 3-dimensional Scatter Plot visualizations ...
This is the PlotScatter class for generating instances of 2-dimensional Scatter Plot visualizations b...
This is the base class for generating instances of objects that contain the specifications of various...
function premake(in self, in varargin)
Configure the plot settings and specifications and return nothing.
function reset(in self, in varargin)
Reset the properties of the plot to the original default settings.
function Plot(in subplot, in varargin)
function make(in self, in varargin)
Configure the plot settings and specifications, make the plot, and return nothing.
This is the abstract class for generating instances of axes with various types of plots from one or m...
This is the abstract class for generating instances of objects that contain the specifications of var...
This is the base class for generating instances of figures containing a square symmetric tiling of su...
function clean()
Remove all paths that contain the ParaMonte lib directory from the MATLAB path variable.
function getBorder(in gramian, in center, in npnt)
Return a matrix of MATLAB doubles of shape [npnt, 2] containing the coordinates of a set of points on...
function which(in vendor)
Return the a MATLAB string containing the path to the first mpiexec executable binary found in system...