type, public :: figure_t
Main figure class implementing Facade Pattern for plotting operations
This type provides a unified interface for all figure operations while
delegating implementation details to specialized modules. The design
follows object-oriented principles with clear separation of concerns.
Components
| Type |
Visibility | Attributes |
|
Name |
| Initial | |
|
type(figure_state_t),
|
public |
|
:: |
state |
|
|
|
|
type(plot_data_t),
|
public, |
allocatable
|
:: |
plots(:) |
|
|
|
|
type(plot_data_t),
|
public, |
allocatable
|
:: |
streamlines(:) |
|
|
|
|
type(text_annotation_t),
|
public, |
allocatable
|
:: |
annotations(:) |
|
|
|
|
integer,
|
public |
|
:: |
annotation_count |
= |
0 |
|
|
integer,
|
public |
|
:: |
max_annotations |
= |
1000 |
|
|
integer,
|
public |
|
:: |
subplot_rows |
= |
0 |
|
|
integer,
|
public |
|
:: |
subplot_cols |
= |
0 |
|
|
integer,
|
public |
|
:: |
current_subplot |
= |
1 |
|
|
type(subplot_data_t),
|
public, |
allocatable
|
:: |
subplots_array(:,:) |
|
|
|
|
character(len=:),
|
public, |
allocatable
|
:: |
title |
|
|
|
|
character(len=:),
|
public, |
allocatable
|
:: |
xlabel |
|
|
|
|
character(len=:),
|
public, |
allocatable
|
:: |
ylabel |
|
|
|
|
integer,
|
public |
|
:: |
plot_count |
= |
0 |
|
Finalization Procedures
-
private interface destroy()
Arguments
None
Type-Bound Procedures
-
interface
private module subroutine initialize(self, width, height, backend, dpi)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
integer,
|
intent(in), |
optional |
|
:: |
width |
|
|
integer,
|
intent(in), |
optional |
|
:: |
height |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
backend |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
dpi |
|
-
private interface add_plot_real()
Arguments
None
-
private interface add_plot_datetime()
Arguments
None
-
private interface add_plot_real()
Arguments
None
-
private interface add_plot_datetime()
Arguments
None
-
interface
private module subroutine add_contour(self, x_grid, y_grid, z_grid, levels, label)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
x_grid(:) |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
y_grid(:) |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
z_grid(:,:) |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
levels(:) |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
label |
|
-
interface
private module subroutine add_contour_filled(self, x_grid, y_grid, z_grid, levels, colormap, show_colorbar, label)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
x_grid(:) |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
y_grid(:) |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
z_grid(:,:) |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
levels(:) |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
colormap |
|
|
logical,
|
intent(in), |
optional |
|
:: |
show_colorbar |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
label |
|
-
interface
private module subroutine add_surface(self, x_grid, y_grid, z_grid, label, colormap, show_colorbar, alpha, edgecolor, linewidth, filled)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
x_grid(:) |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
y_grid(:) |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
z_grid(:,:) |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
label |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
colormap |
|
|
logical,
|
intent(in), |
optional |
|
:: |
show_colorbar |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
edgecolor(3) |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
linewidth |
|
|
logical,
|
intent(in), |
optional |
|
:: |
filled |
|
-
interface
private module subroutine add_pcolormesh(self, x, y, c, colormap, vmin, vmax, edgecolors, linewidths)
Arguments
| 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) |
|
|
:: |
c(:,:) |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
colormap |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
vmin |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
vmax |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
edgecolors(3) |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
linewidths |
|
-
interface
private module subroutine streamplot(self, x, y, u, v, density, color, linewidth, rtol, atol, max_time)
Arguments
| 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) |
|
|
:: |
u(:,:) |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
v(:,:) |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
density |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
color(3) |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
linewidth |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
rtol |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
atol |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
max_time |
|
-
interface
private module subroutine quiver(self, x, y, u, v, scale, color, width, headwidth, headlength, units)
Arguments
| 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) |
|
|
:: |
u(:) |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
v(:) |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
scale |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
color(3) |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
width |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
headwidth |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
headlength |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
units |
|
-
interface
private module subroutine savefig(self, filename, blocking)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
character(len=*),
|
intent(in) |
|
|
:: |
filename |
|
|
logical,
|
intent(in), |
optional |
|
:: |
blocking |
|
-
interface
private module subroutine savefig(self, filename, blocking)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
character(len=*),
|
intent(in) |
|
|
:: |
filename |
|
|
logical,
|
intent(in), |
optional |
|
:: |
blocking |
|
-
interface
private module subroutine savefig_with_status(self, filename, status, blocking)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
character(len=*),
|
intent(in) |
|
|
:: |
filename |
|
|
integer,
|
intent(out) |
|
|
:: |
status |
|
|
logical,
|
intent(in), |
optional |
|
:: |
blocking |
|
-
interface
private module subroutine set_xlabel(self, label)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
character(len=*),
|
intent(in) |
|
|
:: |
label |
|
-
interface
private module subroutine set_ylabel(self, label)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
character(len=*),
|
intent(in) |
|
|
:: |
label |
|
-
interface
private module subroutine set_title(self, title)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
character(len=*),
|
intent(in) |
|
|
:: |
title |
|
-
interface
private module subroutine set_xscale(self, scale, threshold)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
character(len=*),
|
intent(in) |
|
|
:: |
scale |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
threshold |
|
-
interface
private module subroutine set_yscale(self, scale, threshold)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
character(len=*),
|
intent(in) |
|
|
:: |
scale |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
threshold |
|
-
interface
private module subroutine set_xaxis_date_format(self, format)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
character(len=*),
|
intent(in) |
|
|
:: |
format |
|
-
interface
private module subroutine set_yaxis_date_format(self, format)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
character(len=*),
|
intent(in) |
|
|
:: |
format |
|
-
interface
private module subroutine set_xlim(self, x_min, x_max)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
x_min |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
x_max |
|
-
interface
private module subroutine set_ylim(self, y_min, y_max)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
y_min |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
y_max |
|
-
interface
private module subroutine set_line_width(self, width)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
width |
|
-
interface
private module subroutine set_ydata(self, plot_index, y_new)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
integer,
|
intent(in) |
|
|
:: |
plot_index |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
y_new(:) |
|
-
interface
private module subroutine figure_legend(self, location)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
location |
|
-
interface
private module subroutine colorbar(self, plot_index, label, location, fraction, pad, shrink, ticks, ticklabels, label_fontsize)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
integer,
|
intent(in), |
optional |
|
:: |
plot_index |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
label |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
location |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
fraction |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
pad |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
shrink |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
ticks(:) |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
ticklabels(:) |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
label_fontsize |
|
-
interface
private module subroutine show(self, blocking)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
logical,
|
intent(in), |
optional |
|
:: |
blocking |
|
-
interface
private module subroutine clear(self)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
-
interface
private module subroutine clear_streamlines(self)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
-
interface
private module subroutine grid(self, enabled, which, axis, alpha, linestyle)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
logical,
|
intent(in), |
optional |
|
:: |
enabled |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
which |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
axis |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
linestyle |
|
-
interface
private module subroutine add_hist(self, data, bins, density, label, color)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
data(:) |
|
|
integer,
|
intent(in), |
optional |
|
:: |
bins |
|
|
logical,
|
intent(in), |
optional |
|
:: |
density |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
label |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
color(3) |
|
-
interface
private module subroutine add_hist(self, data, bins, density, label, color)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
data(:) |
|
|
integer,
|
intent(in), |
optional |
|
:: |
bins |
|
|
logical,
|
intent(in), |
optional |
|
:: |
density |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
label |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
color(3) |
|
-
interface
private module subroutine boxplot(self, data, position, width, label, show_outliers, horizontal, color)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
data(:) |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
position |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
width |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
label |
|
|
logical,
|
intent(in), |
optional |
|
:: |
show_outliers |
|
|
logical,
|
intent(in), |
optional |
|
:: |
horizontal |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
color |
|
-
interface
private module subroutine scatter(self, x, y, s, c, marker, markersize, color, colormap, alpha, edgecolor, facecolor, linewidth, vmin, vmax, label, show_colorbar)
Arguments
| 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 |
|
:: |
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 |
|
:: |
alpha |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
edgecolor(3) |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
facecolor(3) |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
linewidth |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
vmin |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
vmax |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
label |
|
|
logical,
|
intent(in), |
optional |
|
:: |
show_colorbar |
|
-
interface
private module subroutine add_imshow(self, z, xlim, ylim, cmap, alpha, vmin, vmax, origin, extent, interpolation, aspect)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
z(:,:) |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
xlim(2) |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
ylim(2) |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
cmap |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
vmin |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
vmax |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
origin |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
extent(4) |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
interpolation |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
aspect |
|
-
interface
private module subroutine add_pie(self, values, labels, autopct, startangle, colors, explode)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
values(:) |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
labels(:) |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
autopct |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
startangle |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
colors(:) |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
explode(:) |
|
-
interface
private module subroutine add_polar(self, theta, r, label, fmt, linestyle, marker, color)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
theta(:) |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
r(:) |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
label |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
fmt |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
linestyle |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
marker |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
color |
|
-
interface
private module subroutine add_step(self, x, y, label, where, linestyle, color, linewidth)
Arguments
| 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 |
|
:: |
where |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
linestyle |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
color |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
linewidth |
|
-
interface
private module subroutine add_stem(self, x, y, label, linefmt, markerfmt, basefmt, bottom)
Arguments
| 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 |
|
:: |
linefmt |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
markerfmt |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
basefmt |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
bottom |
|
-
interface
private module subroutine add_fill(self, x, y, color, alpha)
Arguments
| 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 |
|
:: |
color |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
alpha |
|
-
interface
private module subroutine add_fill_between(self, x, y1, y2, where, color, alpha, interpolate)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
x(:) |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
y1(:) |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
y2(:) |
|
|
logical,
|
intent(in), |
optional |
|
:: |
where(:) |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
color |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
alpha |
|
|
logical,
|
intent(in), |
optional |
|
:: |
interpolate |
|
-
interface
private module subroutine twinx(self)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
-
interface
private module subroutine twiny(self)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
-
interface
private module subroutine use_axis(self, axis_name)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
character(len=*),
|
intent(in) |
|
|
:: |
axis_name |
|
-
interface
private module function get_active_axis(self) result(axis_name)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(in) |
|
|
:: |
self |
|
Return Value
character(len=10)
-
interface
private module subroutine subplots(self, nrows, ncols)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
integer,
|
intent(in) |
|
|
:: |
nrows |
|
|
integer,
|
intent(in) |
|
|
:: |
ncols |
|
-
interface
private module subroutine suptitle(self, title_text, fontsize)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
character(len=*),
|
intent(in) |
|
|
:: |
title_text |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
fontsize |
|
-
interface
private module subroutine subplot_plot(self, row, col, x, y, label, linestyle, color)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
integer,
|
intent(in) |
|
|
:: |
row |
|
|
integer,
|
intent(in) |
|
|
:: |
col |
|
|
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(3) |
|
-
interface
private module function subplot_plot_count(self, row, col) result(count)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(in) |
|
|
:: |
self |
|
|
integer,
|
intent(in) |
|
|
:: |
row |
|
|
integer,
|
intent(in) |
|
|
:: |
col |
|
Return Value
integer
-
interface
private module subroutine subplot_set_title(self, row, col, title)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
integer,
|
intent(in) |
|
|
:: |
row |
|
|
integer,
|
intent(in) |
|
|
:: |
col |
|
|
character(len=*),
|
intent(in) |
|
|
:: |
title |
|
-
interface
private module subroutine subplot_set_xlabel(self, row, col, xlabel)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
integer,
|
intent(in) |
|
|
:: |
row |
|
|
integer,
|
intent(in) |
|
|
:: |
col |
|
|
character(len=*),
|
intent(in) |
|
|
:: |
xlabel |
|
-
interface
private module subroutine subplot_set_ylabel(self, row, col, ylabel)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
integer,
|
intent(in) |
|
|
:: |
row |
|
|
integer,
|
intent(in) |
|
|
:: |
col |
|
|
character(len=*),
|
intent(in) |
|
|
:: |
ylabel |
|
-
interface
private module function subplot_title(self, row, col) result(title)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(in) |
|
|
:: |
self |
|
|
integer,
|
intent(in) |
|
|
:: |
row |
|
|
integer,
|
intent(in) |
|
|
:: |
col |
|
Return Value
character(len=:), allocatable
-
interface
private module function get_width(self) result(width)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(in) |
|
|
:: |
self |
|
Return Value
integer
-
interface
private module function get_height(self) result(height)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(in) |
|
|
:: |
self |
|
Return Value
integer
-
interface
private module function get_rendered(self) result(rendered)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(in) |
|
|
:: |
self |
|
Return Value
logical
-
interface
private module subroutine set_rendered(self, rendered)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
logical,
|
intent(in) |
|
|
:: |
rendered |
|
-
interface
private module function get_plot_count(self) result(plot_count)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(in) |
|
|
:: |
self |
|
Return Value
integer
-
interface
private module function get_plots(self) result(plots_ptr)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(in), |
|
target
|
:: |
self |
|
Return Value
type(plot_data_t), pointer, (:)
-
interface
private module subroutine setup_png_backend_for_animation(self)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
-
interface
private module subroutine extract_rgb_data_for_animation(self, rgb_data)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
real(kind=wp),
|
intent(out) |
|
|
:: |
rgb_data(:,:,:) |
|
-
interface
private module subroutine extract_png_data_for_animation(self, png_data, status)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
integer(kind=1),
|
intent(out), |
|
allocatable
|
:: |
png_data(:) |
|
|
integer,
|
intent(out) |
|
|
:: |
status |
|
-
interface
private module subroutine backend_color(self, r, g, b)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
r |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
g |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
b |
|
-
interface
private module subroutine backend_line(self, x1, y1, x2, y2)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
x1 |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
y1 |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
x2 |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
y2 |
|
-
interface
private module subroutine backend_arrow(self, x, y, dx, dy, size, style)
Arguments
| 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) |
|
|
:: |
dx |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
dy |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
size |
|
|
character(len=*),
|
intent(in) |
|
|
:: |
style |
|
-
interface
private module subroutine clear_backend_arrows(self)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
-
interface
private module function backend_associated(self) result(is_associated)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(in) |
|
|
:: |
self |
|
Return Value
logical
-
interface
private module function get_x_min(self) result(x_min)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(in) |
|
|
:: |
self |
|
Return Value
real(kind=wp)
-
interface
private module function get_x_max(self) result(x_max)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(in) |
|
|
:: |
self |
|
Return Value
real(kind=wp)
-
interface
private module function get_y_min(self) result(y_min)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(in) |
|
|
:: |
self |
|
Return Value
real(kind=wp)
-
interface
private module function get_y_max(self) result(y_max)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(in) |
|
|
:: |
self |
|
Return Value
real(kind=wp)
-
interface
private module function get_dpi(self) result(dpi)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(in) |
|
|
:: |
self |
|
Return Value
real(kind=wp)
-
interface
private module subroutine set_dpi(self, dpi)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
dpi |
|
-
interface
private module subroutine axhline(self, y, xmin, xmax, color, linestyle, linewidth, label)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
y |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
xmin |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
xmax |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
color |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
linestyle |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
linewidth |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
label |
|
-
interface
private module subroutine axvline(self, x, ymin, ymax, color, linestyle, linewidth, label)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
x |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
ymin |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
ymax |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
color |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
linestyle |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
linewidth |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
label |
|
-
interface
private module subroutine hlines(self, y, xmin, xmax, colors, linestyles, linewidth, label)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
y(:) |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
xmin |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
xmax |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
colors |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
linestyles |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
linewidth |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
label |
|
-
interface
private module subroutine vlines(self, x, ymin, ymax, colors, linestyles, linewidth, label)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
x(:) |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
ymin |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
ymax |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
colors |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
linestyles |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
linewidth |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
label |
|
-
interface
private module subroutine set_minor_ticks(self, x, y)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
logical,
|
intent(in), |
optional |
|
:: |
x |
|
|
logical,
|
intent(in), |
optional |
|
:: |
y |
|
-
interface
private module subroutine set_minor_tick_count(self, count)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
integer,
|
intent(in) |
|
|
:: |
count |
|
-
interface
private module subroutine minorticks_on(self)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
-
interface
private module subroutine set_xticks(self, positions, labels)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
positions(:) |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
labels(:) |
|
-
interface
private module subroutine set_yticks(self, positions, labels)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
real(kind=wp),
|
intent(in) |
|
|
:: |
positions(:) |
|
|
character(len=*),
|
intent(in), |
optional |
|
:: |
labels(:) |
|
-
interface
private module subroutine set_xtick_labels(self, labels)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
character(len=*),
|
intent(in) |
|
|
:: |
labels(:) |
|
-
interface
private module subroutine set_ytick_labels(self, labels)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
character(len=*),
|
intent(in) |
|
|
:: |
labels(:) |
|
-
private interface set_aspect_str()
Arguments
None
-
private interface set_aspect_num()
Arguments
None
-
interface
private module subroutine tight_layout(self, pad, w_pad, h_pad)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(figure_t),
|
intent(inout) |
|
|
:: |
self |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
pad |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
w_pad |
|
|
real(kind=wp),
|
intent(in), |
optional |
|
:: |
h_pad |
|