ParaMonte MATLAB 3.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
Triplex Class Reference

This is the base class for generating instances of figures containing a square symmetric tiling of subplots.
More...

Inheritance diagram for Triplex:
Collaboration diagram for Triplex:

Public Member Functions

function Triplex (in subplot, in varargin)
 Construct and return an object of class pm.vis.Triplex.
More...
 
function reset (in self, in varargin)
 Reset the properties of the figure to the original default settings.
More...
 
function premake (in self, in varargin)
 Preset the tiling settings before making it.
More...
 
function make (in self, in varargin)
 Configure the figure settings and specifications, make the figure and the subplots, and return nothing.
More...
 
function hide (in self, in varargin)
 Hide the requested section(s) of the Triplex, and return nothing.
More...
 
function show (in self, in varargin)
 Show the requested section(s) of the Triplex, and return nothing.
More...
 
function rotateAxesLabels (in self, in degx, in degy)
 Rotate the axes labels of the subplots of the Triplex, and return nothing.
More...
 
function hideShow (in self, in varargin)
 
function hideShowAxesLabels (in self)
 Hide or show axis labels and ticks depending on the presence of the neighbor subplots.
More...
 
function adjustAxesTicks (in self)
 
function getAxesPositionColorbar (in self)
 
function getAxesPositionSubplot (in self, in irow, in icol)
 
function getAxesPositionMain (in self)
 
function setLayout (in self)
 Update the layout of the Triplex plot with the new changes.
More...
 

Data Fields

Property layout
 
Property subplot
 
Property colorbared
 

Detailed Description

This is the base class for generating instances of figures containing a square symmetric tiling of subplots.

This class generates figures containing three types of plots in the upper-triangle, lower-triangle, and diagonal subplots of the figure.
The dataset is assumed to be common among all plots (though not necessarily).
As such, all axes labels and tick marks of all subplots are dropped by default, except for subplots in the the left and bottom boundaries of the figure.

If any of the three input subplot types has colorbar, it is disabled for individual subplots.
Instead, a universal colorbar will be visualized on the right side of the Triplex plot.

Note
See the list of class attributes below, also those of the superclass pm.vis.figure.Figure.
See also the documentation of the constructor of the class pm.vis.Triplex::Triplex.


Final Remarks


If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.

  1. If you use any parts or concepts from this library to any extent, please acknowledge the usage by citing the relevant publications of the ParaMonte library.
  2. If you regenerate any parts/ideas from this library in a programming environment other than those currently supported by this ParaMonte library (i.e., other than C, C++, Fortran, MATLAB, Python, R), please also ask the end users to cite this original ParaMonte library.

This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.

Author:
Amir Shahmoradi, August 31 2024, 6:40 AM, NASA Goddard Space Flight Center (GSFC), Washington, D.C.

Definition at line 26 of file Triplex.m.

Constructor & Destructor Documentation

◆ Triplex()

function Triplex::Triplex ( in  subplot,
in  varargin 
)

Construct and return an object of class pm.vis.Triplex.

This is the constructor of the class pm.vis.Triplex.

Parameters
[in]subplot: The input cell matrix of MATLAB objects of superclass pm.vis.Subplot.
[in]varargin: Any property, value pair of the parent object.
If the property is a struct(), then its value must be given as a cell array, with consecutive elements representing the struct property-name, property-value pairs.
Note that all of these property-value pairs can be also directly set via the parent object attributes, before calling the make() method.
Returns
self : The output scalar object of class pm.vis.Triplex.


Possible calling interfaces

g = pm.vis.Triplex(subplot);
g = pm.vis.Triplex(subplot, varargin);
Property subplot
Definition: Triplex.m:51
Note
See the list of class attributes below, also those of the superclass pm.vis.figure.Figure.


Final Remarks


If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.

  1. If you use any parts or concepts from this library to any extent, please acknowledge the usage by citing the relevant publications of the ParaMonte library.
  2. If you regenerate any parts/ideas from this library in a programming environment other than those currently supported by this ParaMonte library (i.e., other than C, C++, Fortran, MATLAB, Python, R), please also ask the end users to cite this original ParaMonte library.

This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.

Author:
Amir Shahmoradi, August 31 2024, 6:40 AM, NASA Goddard Space Flight Center (GSFC), Washington, D.C.

Member Function Documentation

◆ adjustAxesTicks()

function Triplex::adjustAxesTicks ( in  self)

◆ getAxesPositionColorbar()

function Triplex::getAxesPositionColorbar ( in  self)

◆ getAxesPositionMain()

function Triplex::getAxesPositionMain ( in  self)

◆ getAxesPositionSubplot()

function Triplex::getAxesPositionSubplot ( in  self,
in  irow,
in  icol 
)

◆ hide()

function Triplex::hide ( in  self,
in  varargin 
)

Hide the requested section(s) of the Triplex, and return nothing.

Warning
This method has side-effects by manipulating the existing attributes of the parent object.
Parameters
[in]varargin: A comma-separated sequence of strings to char-vectors each of which can be one of the following:
  1. "diag" : corresponding to the diagonal subplots in the Triplex plot.
  2. "lower" : corresponding to the lower triangle of the Triplex plot.
  3. "upper" : corresponding to the upper triangle of the Triplex plot.
  4. "colorbar" : corresponding to the colorbar object of the Triplex plot.
If no input argument is provided, the action is performed for all plot sections listed in the above.


Possible calling interfaces

g = pm.vis.Triplex(subplot, varargin);
g.make(varargin);
g.hide(varargin);


Example usage

g = pm.vis.Triplex(subplot, varargin);
g.make(varargin);
g.hide() % hide all parts of the Triplex plot.
g.hide("diag","colorbar") % hide the diagonal subplots and the colorbar of the Triplex plot.
g.hide("lower") % hide the lower triangle subplots of the Triplex plot.
This is the base class for generating instances of figures containing a square symmetric tiling of su...
Definition: Triplex.m:27
function hide(in self, in varargin)
Hide the requested section(s) of the Triplex, and return nothing.


Final Remarks


If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.

  1. If you use any parts or concepts from this library to any extent, please acknowledge the usage by citing the relevant publications of the ParaMonte library.
  2. If you regenerate any parts/ideas from this library in a programming environment other than those currently supported by this ParaMonte library (i.e., other than C, C++, Fortran, MATLAB, Python, R), please also ask the end users to cite this original ParaMonte library.

This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.

Author:
Amir Shahmoradi, July 7 2024, 12:53 AM, NASA Goddard Space Flight Center (GSFC), Washington, D.C.

◆ hideShow()

function Triplex::hideShow ( in  self,
in  varargin 
)

◆ hideShowAxesLabels()

function Triplex::hideShowAxesLabels ( in  self)

Hide or show axis labels and ticks depending on the presence of the neighbor subplots.

Warning
This method causes side-effects by manipulating the existing attributes of the object.


Possible calling interfaces

g = pm.vis.Triplex(subplot, varargin);
g.hideShowAxesLabels();


Example usage


Final Remarks


If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.

  1. If you use any parts or concepts from this library to any extent, please acknowledge the usage by citing the relevant publications of the ParaMonte library.
  2. If you regenerate any parts/ideas from this library in a programming environment other than those currently supported by this ParaMonte library (i.e., other than C, C++, Fortran, MATLAB, Python, R), please also ask the end users to cite this original ParaMonte library.

This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.

Author:
Joshua Alexander Osborne, May 21 2024, 9:28 AM, University of Texas at Arlington
Fatemeh Bagheri, May 20 2024, 1:25 PM, NASA Goddard Space Flight Center (GSFC), Washington, D.C.
Amir Shahmoradi, July 7 2024, 12:53 AM, NASA Goddard Space Flight Center (GSFC), Washington, D.C.

◆ make()

function Triplex::make ( in  self,
in  varargin 
)

Configure the figure settings and specifications, make the figure and the subplots, and return nothing.

The subplots are made by calling their make() methods.

Warning
This method has side-effects by manipulating the existing attributes of the parent object.
Parameters
[in]varargin: Any property, value pair of the parent object.
If the property is a struct(), then its value must be given as a cell array, with consecutive elements representing the struct property-name, property-value pairs.
Note that all of these property-value pairs can be also directly set via the parent object attributes, before calling the make() method.


Possible calling interfaces

g = pm.vis.Triplex(subplot, varargin);
g.make(varargin);


Final Remarks


If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.

  1. If you use any parts or concepts from this library to any extent, please acknowledge the usage by citing the relevant publications of the ParaMonte library.
  2. If you regenerate any parts/ideas from this library in a programming environment other than those currently supported by this ParaMonte library (i.e., other than C, C++, Fortran, MATLAB, Python, R), please also ask the end users to cite this original ParaMonte library.

This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.

Author:
Amir Shahmoradi, July 7 2024, 12:53 AM, NASA Goddard Space Flight Center (GSFC), Washington, D.C.

◆ premake()

function Triplex::premake ( in  self,
in  varargin 
)

Preset the tiling settings before making it.

Warning
This method causes side-effects by manipulating the existing attributes of the object.
Parameters
[in]varargin: Any property, value pair of the parent object.
If the property is a struct(), then its value must be given as a cell array, with consecutive elements representing the struct property-name, property-value pairs.
Note that all of these property-value pairs can be also directly set via the parent object attributes, before calling the make() method.


Possible calling interfaces

g = pm.vis.Triplex(subplot, varargin);
g.premake(varargin);


Example usage


Final Remarks


If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.

  1. If you use any parts or concepts from this library to any extent, please acknowledge the usage by citing the relevant publications of the ParaMonte library.
  2. If you regenerate any parts/ideas from this library in a programming environment other than those currently supported by this ParaMonte library (i.e., other than C, C++, Fortran, MATLAB, Python, R), please also ask the end users to cite this original ParaMonte library.

This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.

Author:
Joshua Alexander Osborne, May 21 2024, 9:28 AM, University of Texas at Arlington
Fatemeh Bagheri, May 20 2024, 1:25 PM, NASA Goddard Space Flight Center (GSFC), Washington, D.C.
Amir Shahmoradi, July 7 2024, 12:53 AM, NASA Goddard Space Flight Center (GSFC), Washington, D.C.

◆ reset()

function Triplex::reset ( in  self,
in  varargin 
)

Reset the properties of the figure to the original default settings.

Use this method when you change many attributes of the plot and you want to clean up and go back to the default settings.

Parameters
[in]varargin: Any property, value pair of the parent object.
If the property is a struct(), then its value must be given as a cell array, with consecutive elements representing the struct property-name, property-value pairs.
Note that all of these property-value pairs can be also directly set via the parent object attributes, before calling the make() method.


Possible calling interfaces

g = pm.vis.Triplex(subplot, varargin) % reset all object properties to the default settings.
g.reset(varargin);
function reset(in self, in varargin)
Reset the properties of the figure to the original default settings.


Final Remarks


If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.

  1. If you use any parts or concepts from this library to any extent, please acknowledge the usage by citing the relevant publications of the ParaMonte library.
  2. If you regenerate any parts/ideas from this library in a programming environment other than those currently supported by this ParaMonte library (i.e., other than C, C++, Fortran, MATLAB, Python, R), please also ask the end users to cite this original ParaMonte library.

This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.

Author:
Joshua Alexander Osborne, May 21 2024, 9:25 AM, University of Texas at Arlington
Fatemeh Bagheri, May 20 2024, 1:25 PM, NASA Goddard Space Flight Center (GSFC), Washington, D.C.
Amir Shahmoradi, July 7 2024, 12:53 AM, NASA Goddard Space Flight Center (GSFC), Washington, D.C.

◆ rotateAxesLabels()

function Triplex::rotateAxesLabels ( in  self,
in  degx,
in  degy 
)

Rotate the axes labels of the subplots of the Triplex, and return nothing.

Warning
This method has side-effects by manipulating the existing attributes of the parent object.
Parameters
[in]degx: The input scalar MATLAB positive whole-number, representing the amount of rotation to be applied to the x-axis labels with respect to the horizontal line.
If it is set to empty [], the axis label orientation will remain intact.
(optional, default = 45. It must be present if and only if degy is also present.)
[in]degy: The input scalar MATLAB positive whole-number, representing the amount of rotation to be applied to the y-axis labels with respect to the horizontal line.
If it is set to empty [], the axis label orientation will remain intact.
(optional, default = 45. It must be present if and only if degx is also present.)


Possible calling interfaces

g = pm.vis.Triplex(subplot, varargin);
g.make(varargin);
g.rotateAxesLabels(); % rotate all axes labels by 45 degrees.
g.rotateAxesLabels(degx, []); % rotate x-axis labels by ``degx`` degrees.
g.rotateAxesLabels([], degy); % rotate y-axis labels by ``degy`` degrees.
g.rotateAxesLabels(degx, degy); % rotate x-axis and y-axis labels by ``degx`` and ``degy`` degrees.


Final Remarks


If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.

  1. If you use any parts or concepts from this library to any extent, please acknowledge the usage by citing the relevant publications of the ParaMonte library.
  2. If you regenerate any parts/ideas from this library in a programming environment other than those currently supported by this ParaMonte library (i.e., other than C, C++, Fortran, MATLAB, Python, R), please also ask the end users to cite this original ParaMonte library.

This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.

Author:
Amir Shahmoradi, July 7 2024, 12:53 AM, NASA Goddard Space Flight Center (GSFC), Washington, D.C.

◆ setLayout()

function Triplex::setLayout ( in  self)

Update the layout of the Triplex plot with the new changes.

For example, change the left/bottom margin of the main axis of the figure to provide room for lengthy variable names.
Then call the setLayout() method of layout to reflect the changes.

Warning
This method causes side-effects by manipulating the existing attributes of the object.


Possible calling interfaces

g = pm.vis.Triplex(subplot, varargin);
g.setLayout();


Example usage


Final Remarks


If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.

  1. If you use any parts or concepts from this library to any extent, please acknowledge the usage by citing the relevant publications of the ParaMonte library.
  2. If you regenerate any parts/ideas from this library in a programming environment other than those currently supported by this ParaMonte library (i.e., other than C, C++, Fortran, MATLAB, Python, R), please also ask the end users to cite this original ParaMonte library.

This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.

Author:
Amir Shahmoradi, July 7 2024, 12:53 AM, NASA Goddard Space Flight Center (GSFC), Washington, D.C.

◆ show()

function Triplex::show ( in  self,
in  varargin 
)

Show the requested section(s) of the Triplex, and return nothing.

Warning
This method has side-effects by manipulating the existing attributes of the parent object.
Parameters
[in]varargin: A comma-separated sequence of strings to char-vectors each of which can be one of the following:
  1. "diag" : corresponding to the diagonal subplots in the Triplex plot.
  2. "lower" : corresponding to the lower triangle of the Triplex plot.
  3. "upper" : corresponding to the upper triangle of the Triplex plot.
  4. "colorbar" : corresponding to the colorbar object of the Triplex plot.
If no input argument is provided, the action is performed for all plot sections listed in the above.


Possible calling interfaces

g = pm.vis.Triplex(subplot, varargin);
g.make(varargin);
g.show(varargin);


Example usage

g = pm.vis.Triplex(subplot, varargin);
g.make(varargin);
g.show() % show all parts of the Triplex plot.
g.show("diag","colorbar") % show the diagonal subplots and the colorbar of the Triplex plot.
g.show("lower") % show the lower triangle subplots of the Triplex plot.
function show(in self, in varargin)
Show the requested section(s) of the Triplex, and return nothing.


Final Remarks


If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.

  1. If you use any parts or concepts from this library to any extent, please acknowledge the usage by citing the relevant publications of the ParaMonte library.
  2. If you regenerate any parts/ideas from this library in a programming environment other than those currently supported by this ParaMonte library (i.e., other than C, C++, Fortran, MATLAB, Python, R), please also ask the end users to cite this original ParaMonte library.

This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.

Author:
Amir Shahmoradi, July 7 2024, 12:53 AM, NASA Goddard Space Flight Center (GSFC), Washington, D.C.

Field Documentation

◆ colorbared

Property Triplex::colorbared

colorbared

The scalar MATLAB logical that is true if and only if any subplot requires colorbar.
In such a case, all colorbar subplots will be disabled and a single global subplot will be added to the figure.
If multiple plot types contain require colorbars.

Definition at line 65 of file Triplex.m.

◆ layout

Property Triplex::layout

layout

The MATLAB struct containing the default layout of the Triplex plot.
Such information includes the margin of the subplots from the figure border and the interspaces between the subplots.
This information is applied only to figure components whose positions are unset.

Definition at line 43 of file Triplex.m.

◆ subplot

Property Triplex::subplot

subplot

The MATLAB cell matrix containing objects of superclass pm.vis.Subplot each of which represents one subplot axes to display in the figure.

Definition at line 51 of file Triplex.m.


The documentation for this class was generated from the following file: