Basic plot addition methods for figure (SOLID principles compliance)
This module contains basic add_* methods for plot types, separated from figure base for better modularity and maintainability. Advanced plot types are in fortplot_plotting_advanced module.
Add 2D line plot to figure
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(figure_t), | intent(inout) | :: | self | |||
real(kind=wp), | intent(in) | :: | x(:) | |||
real(kind=wp), | intent(in) | :: | y(:) | |||
character(len=*), | intent(in), | optional | :: | label | ||
character(len=*), | intent(in), | optional | :: | linestyle | ||
real(kind=wp), | intent(in), | optional | :: | color_rgb(3) | ||
character(len=*), | intent(in), | optional | :: | color_str | ||
character(len=*), | intent(in), | optional | :: | marker | ||
real(kind=wp), | intent(in), | optional | :: | markercolor(3) |
Add 2D scatter plot to figure
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(figure_t), | intent(inout) | :: | self | |||
real(kind=wp), | intent(in) | :: | x(:) | |||
real(kind=wp), | intent(in) | :: | y(:) | |||
real(kind=wp), | intent(in), | optional | :: | s(:) | ||
real(kind=wp), | intent(in), | optional | :: | c(:) | ||
character(len=*), | intent(in), | optional | :: | label | ||
character(len=*), | intent(in), | optional | :: | marker | ||
real(kind=wp), | intent(in), | optional | :: | markersize | ||
real(kind=wp), | intent(in), | optional | :: | color(3) | ||
character(len=*), | intent(in), | optional | :: | colormap | ||
real(kind=wp), | intent(in), | optional | :: | vmin | ||
real(kind=wp), | intent(in), | optional | :: | vmax | ||
logical, | intent(in), | optional | :: | show_colorbar | ||
real(kind=wp), | intent(in), | optional | :: | alpha |
Add 3D scatter plot to figure
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(figure_t), | intent(inout) | :: | self | |||
real(kind=wp), | intent(in) | :: | x(:) | |||
real(kind=wp), | intent(in) | :: | y(:) | |||
real(kind=wp), | intent(in) | :: | z(:) | |||
real(kind=wp), | intent(in), | optional | :: | s(:) | ||
real(kind=wp), | intent(in), | optional | :: | c(:) | ||
character(len=*), | intent(in), | optional | :: | label | ||
character(len=*), | intent(in), | optional | :: | marker | ||
real(kind=wp), | intent(in), | optional | :: | markersize | ||
real(kind=wp), | intent(in), | optional | :: | color(3) | ||
character(len=*), | intent(in), | optional | :: | colormap | ||
real(kind=wp), | intent(in), | optional | :: | vmin | ||
real(kind=wp), | intent(in), | optional | :: | vmax | ||
logical, | intent(in), | optional | :: | show_colorbar | ||
real(kind=wp), | intent(in), | optional | :: | alpha |
Add error bar plot to figure
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(figure_t), | intent(inout) | :: | self | |||
real(kind=wp), | intent(in) | :: | x(:) | |||
real(kind=wp), | intent(in) | :: | y(:) | |||
real(kind=wp), | intent(in), | optional | :: | xerr(:) | ||
real(kind=wp), | intent(in), | optional | :: | yerr(:) | ||
real(kind=wp), | intent(in), | optional | :: | xerr_lower(:) | ||
real(kind=wp), | intent(in), | optional | :: | xerr_upper(:) | ||
real(kind=wp), | intent(in), | optional | :: | yerr_lower(:) | ||
real(kind=wp), | intent(in), | optional | :: | yerr_upper(:) | ||
character(len=*), | intent(in), | optional | :: | label | ||
character(len=*), | intent(in), | optional | :: | marker | ||
real(kind=wp), | intent(in), | optional | :: | markersize | ||
real(kind=wp), | intent(in), | optional | :: | ecolor(3) | ||
real(kind=wp), | intent(in), | optional | :: | elinewidth | ||
real(kind=wp), | intent(in), | optional | :: | capsize | ||
real(kind=wp), | intent(in), | optional | :: | capthick | ||
real(kind=wp), | intent(in), | optional | :: | color(3) |
Add 3D line plot to figure (projected to 2D)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(figure_t), | intent(inout) | :: | self | |||
real(kind=wp), | intent(in) | :: | x(:) | |||
real(kind=wp), | intent(in) | :: | y(:) | |||
real(kind=wp), | intent(in) | :: | z(:) | |||
character(len=*), | intent(in), | optional | :: | label | ||
character(len=*), | intent(in), | optional | :: | linestyle | ||
real(kind=wp), | intent(in), | optional | :: | markersize | ||
real(kind=wp), | intent(in), | optional | :: | linewidth |
Add surface plot to figure
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(figure_t), | intent(inout) | :: | self | |||
real(kind=wp), | intent(in) | :: | x(:) | |||
real(kind=wp), | intent(in) | :: | y(:) | |||
real(kind=wp), | intent(in) | :: | z(:,:) | |||
character(len=*), | intent(in), | optional | :: | label |
Add text annotation to figure
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(figure_t), | intent(inout) | :: | self | |||
real(kind=wp), | intent(in) | :: | x | |||
real(kind=wp), | intent(in) | :: | y | |||
character(len=*), | intent(in) | :: | text | |||
character(len=*), | intent(in), | optional | :: | coord_type | ||
real(kind=wp), | intent(in), | optional | :: | font_size | ||
real(kind=wp), | intent(in), | optional | :: | rotation | ||
character(len=*), | intent(in), | optional | :: | ha | ||
character(len=*), | intent(in), | optional | :: | va | ||
logical, | intent(in), | optional | :: | bbox | ||
real(kind=wp), | intent(in), | optional | :: | color(3) | ||
real(kind=wp), | intent(in), | optional | :: | alpha | ||
character(len=*), | intent(in), | optional | :: | weight | ||
character(len=*), | intent(in), | optional | :: | style |
Add arrow annotation to figure
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(figure_t), | intent(inout) | :: | self | |||
character(len=*), | intent(in) | :: | text | |||
real(kind=wp), | intent(in) | :: | xy(2) | |||
real(kind=wp), | intent(in) | :: | xytext(2) | |||
character(len=*), | intent(in), | optional | :: | xy_coord_type | ||
character(len=*), | intent(in), | optional | :: | xytext_coord_type | ||
character(len=*), | intent(in), | optional | :: | arrowprops | ||
real(kind=wp), | intent(in), | optional | :: | font_size | ||
real(kind=wp), | intent(in), | optional | :: | color(3) | ||
real(kind=wp), | intent(in), | optional | :: | alpha |
Add line plot data with comprehensive validation Refactored to be under 100 lines (QADS compliance)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(figure_t), | intent(inout) | :: | self | |||
real(kind=wp), | intent(in) | :: | x(:) | |||
real(kind=wp), | intent(in) | :: | y(:) | |||
character(len=*), | intent(in), | optional | :: | label | ||
character(len=*), | intent(in), | optional | :: | linestyle | ||
real(kind=wp), | intent(in), | optional | :: | color_rgb(3) | ||
character(len=*), | intent(in), | optional | :: | color_str | ||
character(len=*), | intent(in), | optional | :: | marker |
Add scatter plot data with optional properties
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(figure_t), | intent(inout) | :: | self | |||
real(kind=wp), | intent(in) | :: | x(:) | |||
real(kind=wp), | intent(in) | :: | y(:) | |||
real(kind=wp), | intent(in), | optional | :: | z(:) | ||
real(kind=wp), | intent(in), | optional | :: | s(:) | ||
real(kind=wp), | intent(in), | optional | :: | c(:) | ||
character(len=*), | intent(in), | optional | :: | label | ||
character(len=*), | intent(in), | optional | :: | marker | ||
real(kind=wp), | intent(in), | optional | :: | markersize | ||
real(kind=wp), | intent(in), | optional | :: | color(3) | ||
character(len=*), | intent(in), | optional | :: | colormap | ||
real(kind=wp), | intent(in), | optional | :: | vmin | ||
real(kind=wp), | intent(in), | optional | :: | vmax | ||
logical, | intent(in), | optional | :: | show_colorbar | ||
real(kind=wp), | intent(in), | optional | :: | alpha |