diff --git a/CMakeLists.txt b/CMakeLists.txt index ab88dc4..aa1a6c3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.24) project( fplot LANGUAGES Fortran - VERSION 1.8.6 + VERSION 1.8.8 ) # Confgiure everything diff --git a/doc/index.html b/doc/index.html index 11ac89d..2671874 100644 --- a/doc/index.html +++ b/doc/index.html @@ -140,7 +140,7 @@

Derived Types

Documentation generated by FORD - on 2026-06-14 08:02

+ on 2026-06-16 07:03


diff --git a/doc/interface/cm_get_string_result.html b/doc/interface/cm_get_string_result.html index ad06c89..1e68548 100644 --- a/doc/interface/cm_get_string_result.html +++ b/doc/interface/cm_get_string_result.html @@ -153,7 +153,7 @@

Arguments

- + class(colormap), intent(in) @@ -169,7 +169,7 @@

Arguments

-

Return Value character(len=:),allocatable

+

Return Value character(len=:),allocatable

The string.

Description

Retrieves a string result from a colormap object.

@@ -190,7 +190,7 @@

Description

Documentation generated by FORD - on 2026-06-14 08:02

+ on 2026-06-16 07:03


diff --git a/doc/interface/get_string_result.html b/doc/interface/get_string_result.html index e771d51..b71853f 100644 --- a/doc/interface/get_string_result.html +++ b/doc/interface/get_string_result.html @@ -153,7 +153,7 @@

Arguments

- + class(plot_object), intent(in) @@ -169,7 +169,7 @@

Arguments

-

Return Value character(len=:),allocatable

+

Return Value character(len=:),allocatable

The result string.

Description

Returns a string from a plot_object.

@@ -190,7 +190,7 @@

Description

Documentation generated by FORD - on 2026-06-14 08:02

+ on 2026-06-16 07:03


diff --git a/doc/interface/operator(==).html b/doc/interface/operator(==).html index bca2605..3b76f3d 100644 --- a/doc/interface/operator(==).html +++ b/doc/interface/operator(==).html @@ -169,7 +169,7 @@

Arguments

- + type(color), intent(in) @@ -184,7 +184,7 @@

Arguments

- + type(color), intent(in) @@ -223,7 +223,7 @@

Documentation generated by FORD - on 2026-06-14 08:02

+ on 2026-06-16 07:03


diff --git a/doc/interface/operator(SLASH=).html b/doc/interface/operator(SLASH=).html index 00ac285..ca591c6 100644 --- a/doc/interface/operator(SLASH=).html +++ b/doc/interface/operator(SLASH=).html @@ -169,7 +169,7 @@

Arguments

- + type(color), intent(in) @@ -184,7 +184,7 @@

Arguments

- + type(color), intent(in) @@ -223,7 +223,7 @@

Documentation generated by FORD - on 2026-06-14 08:02

+ on 2026-06-16 07:03


diff --git a/doc/interface/pa_get_string_result.html b/doc/interface/pa_get_string_result.html index 9201391..cada3b7 100644 --- a/doc/interface/pa_get_string_result.html +++ b/doc/interface/pa_get_string_result.html @@ -153,7 +153,7 @@

Arguments

- + class(plot_axis), intent(in) @@ -169,7 +169,7 @@

Arguments

-

Return Value character(len=:),allocatable

+

Return Value character(len=:),allocatable

The string.

Description

Retrieves a string from a plot_axis.

@@ -190,7 +190,7 @@

Description

Documentation generated by FORD - on 2026-06-14 08:02

+ on 2026-06-16 07:03


diff --git a/doc/interface/pd_get_string_result.html b/doc/interface/pd_get_string_result.html index 079899b..4ca3c12 100644 --- a/doc/interface/pd_get_string_result.html +++ b/doc/interface/pd_get_string_result.html @@ -153,7 +153,7 @@

Arguments

- + class(plot_data), intent(in) @@ -169,7 +169,7 @@

Arguments

-

Return Value character(len=:),allocatable

+

Return Value character(len=:),allocatable

The string.

Description

Retrieves a string from a plot_data object.

@@ -190,7 +190,7 @@

Description

Documentation generated by FORD - on 2026-06-14 08:02

+ on 2026-06-16 07:03


diff --git a/doc/interface/simplify_polyline.html b/doc/interface/simplify_polyline.html index 2d6b402..23e554d 100644 --- a/doc/interface/simplify_polyline.html +++ b/doc/interface/simplify_polyline.html @@ -172,7 +172,7 @@

Arguments

- + real(kind=real64), intent(in), @@ -188,7 +188,7 @@

Arguments

- + real(kind=real64), intent(in), @@ -220,7 +220,7 @@

Arguments

- + class(errors), intent(inout), @@ -267,7 +267,7 @@

Arguments

- + real(kind=real64), intent(in), @@ -283,7 +283,7 @@

Arguments

- + real(kind=real64), intent(in), @@ -299,7 +299,7 @@

Arguments

- + real(kind=real64), intent(in), @@ -331,7 +331,7 @@

Arguments

- + class(errors), intent(inout), @@ -410,7 +410,7 @@

Arguments

- + class(errors), intent(inout), @@ -452,7 +452,7 @@

Documentation generated by FORD - on 2026-06-14 08:02

+ on 2026-06-16 07:03


diff --git a/doc/interface/spd_get_int_value.html b/doc/interface/spd_get_int_value.html index 784297d..2c8553f 100644 --- a/doc/interface/spd_get_int_value.html +++ b/doc/interface/spd_get_int_value.html @@ -153,7 +153,7 @@

Arguments

- + class(scatter_plot_data), intent(in) @@ -169,7 +169,7 @@

Arguments

-

Return Value integer(kind=int32)

+

Return Value integer(kind=int32)

The value.

Description

Gets an integer value from the scatter_plot_data object.

@@ -190,7 +190,7 @@

Description

Documentation generated by FORD - on 2026-06-14 08:02

+ on 2026-06-16 07:03


diff --git a/doc/interface/spd_get_string_result.html b/doc/interface/spd_get_string_result.html index 0e27b5f..0ab27a1 100644 --- a/doc/interface/spd_get_string_result.html +++ b/doc/interface/spd_get_string_result.html @@ -153,7 +153,7 @@

Arguments

- + class(scatter_plot_data), intent(in) @@ -169,7 +169,7 @@

Arguments

-

Return Value character(len=:),allocatable

+

Return Value character(len=:),allocatable

The string.

Description

Gets a string value from the scatter_plot_data object.

@@ -190,7 +190,7 @@

Description

Documentation generated by FORD - on 2026-06-14 08:02

+ on 2026-06-16 07:03


diff --git a/doc/interface/spd_get_value.html b/doc/interface/spd_get_value.html index 5afe452..1600882 100644 --- a/doc/interface/spd_get_value.html +++ b/doc/interface/spd_get_value.html @@ -153,7 +153,7 @@

Arguments

- + class(scatter_plot_data), intent(in) @@ -168,7 +168,7 @@

Arguments

- + integer(kind=int32), intent(in) @@ -184,7 +184,7 @@

Arguments

-

Return Value real(kind=real64)

+

Return Value real(kind=real64)

The value.

Description

Gets an indexed value from the scatter_plot_data object.

@@ -205,7 +205,7 @@

Description

Documentation generated by FORD - on 2026-06-14 08:02

+ on 2026-06-16 07:03


diff --git a/doc/interface/spd_set_value.html b/doc/interface/spd_set_value.html index b4996f8..fd8cb2a 100644 --- a/doc/interface/spd_set_value.html +++ b/doc/interface/spd_set_value.html @@ -153,7 +153,7 @@

Arguments

- + class(scatter_plot_data), intent(inout) @@ -168,7 +168,7 @@

Arguments

- + integer(kind=int32), intent(in) @@ -183,7 +183,7 @@

Arguments

- + real(kind=real64), intent(in) @@ -218,7 +218,7 @@

Description

Documentation generated by FORD - on 2026-06-14 08:02

+ on 2026-06-16 07:03


diff --git a/doc/interface/term_get_string_result.html b/doc/interface/term_get_string_result.html index 52a31ab..f8a5449 100644 --- a/doc/interface/term_get_string_result.html +++ b/doc/interface/term_get_string_result.html @@ -153,7 +153,7 @@

Arguments

- + class(terminal), intent(in) @@ -169,7 +169,7 @@

Arguments

-

Return Value character(len=:),allocatable

+

Return Value character(len=:),allocatable

The string.

Description

Retrieves a string from a terminal.

@@ -190,7 +190,7 @@

Description

Documentation generated by FORD - on 2026-06-14 08:02

+ on 2026-06-16 07:03


diff --git a/doc/lists/files.html b/doc/lists/files.html index ec3f886..9ee89b2 100644 --- a/doc/lists/files.html +++ b/doc/lists/files.html @@ -244,7 +244,7 @@

Source Files

Documentation generated by FORD - on 2026-06-14 08:02

+ on 2026-06-16 07:03


diff --git a/doc/lists/modules.html b/doc/lists/modules.html index 1eb4e79..25c9107 100644 --- a/doc/lists/modules.html +++ b/doc/lists/modules.html @@ -289,7 +289,7 @@

Modules

Documentation generated by FORD - on 2026-06-14 08:02

+ on 2026-06-16 07:03


diff --git a/doc/lists/procedures.html b/doc/lists/procedures.html index 63da867..7ad9daa 100644 --- a/doc/lists/procedures.html +++ b/doc/lists/procedures.html @@ -198,7 +198,7 @@

Procedures

Documentation generated by FORD - on 2026-06-14 08:02

+ on 2026-06-16 07:03


diff --git a/doc/lists/types.html b/doc/lists/types.html index 0b588d8..8774fcd 100644 --- a/doc/lists/types.html +++ b/doc/lists/types.html @@ -382,7 +382,7 @@

Derived Types

Documentation generated by FORD - on 2026-06-14 08:02

+ on 2026-06-16 07:03


diff --git a/doc/module/fplot_arrow.html b/doc/module/fplot_arrow.html index b7365fc..b7c2dc3 100644 --- a/doc/module/fplot_arrow.html +++ b/doc/module/fplot_arrow.html @@ -74,7 +74,7 @@

fplot_arrow
  • 296 statements + title=" 3.8% of total for modules and submodules.">296 statements
  • @@ -150,10 +150,10 @@

    Uses

    + + + +
    +
    +
    + +

    + procedure, public :: + set_datablock_name => pd_set_datablock_name + +

    +
    +
      +
    • +

      + private subroutine pd_set_datablock_name(this, x) +

      + +

      Sets the name to associate with the datablock in the actual GNUPLOT +plot file.

      + +

      Arguments

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      TypeIntentOptional AttributesName
      + + class(plot_data), + intent(inout) + + ::this +

      The plot_data object.

      +
      + + character(len=*), + intent(in) + + ::x +

      The name.

      +
      + +
    @@ -2562,7 +2747,7 @@

    Arguments

    Documentation generated by FORD - on 2026-06-14 08:02

    + on 2026-06-16 07:03


    diff --git a/doc/type/plot_data_histogram.html b/doc/type/plot_data_histogram.html index c242a1d..cb62d29 100644 --- a/doc/type/plot_data_histogram.html +++ b/doc/type/plot_data_histogram.html @@ -74,7 +74,7 @@

    plot_data_histogram
  • 22 statements + title="

    2.6% of total for derived types.

    Including implementation: 238 statements, 1.9% of total for derived types.">22 statements
  • @@ -130,23 +130,26 @@

    Type-Bound Procedures

    @@ -174,6 +177,60 @@

    Type-Bound Procedures

    +
    + +

    + procedure, public :: + create_unique_datablock_name => pd_create_unique_datablock_name + +

    +
    +
      +
    • +

      + private subroutine pd_create_unique_datablock_name(this) +

      + +

      Creates a unique name for the GNUPLOT datablock representing this +data set.

      + +

      Arguments

      + + + + + + + + + + + + + + + + + + + +
      TypeIntentOptional AttributesName
      + + class(plot_data), + intent(inout) + + ::this +

      The plot_data object.

      +
      + + +
    • +
    +
    + +
    +
    +

    @@ -531,7 +588,7 @@

    - +

    procedure, public :: get_command_string => pdh_get_cmd @@ -589,7 +646,7 @@

    - +

    procedure, public :: get_data_string => pdh_get_data_cmd @@ -647,7 +704,66 @@

    - + +

    + procedure, public :: + get_datablock_name => pd_get_datablock_name + +

    +
    +
      +
    • +

      + private pure function pd_get_datablock_name(this) result(rst) +

      + +

      Gets the name to associate with the datablock in the actual GNUPLOT +plot file.

      + +

      Arguments

      + + + + + + + + + + + + + + + + + + + +
      TypeIntentOptional AttributesName
      + + class(plot_data), + intent(in) + + ::this +

      The plot_data object.

      +
      + +

      + Return Value + character(len=:), allocatable +

      +

      The name.

      + +
    • +
    +
    + +
    +
    +
    +
    +

    procedure, public :: get_draw_against_y2 => pdh_get_use_y2 @@ -707,7 +823,7 @@

    - +

    procedure, public :: get_is_filled => pdh_get_is_filled @@ -1134,7 +1250,76 @@

    Arguments

    - + +

    + procedure, public :: + set_datablock_name => pd_set_datablock_name + +

    +
    +
      +
    • +

      + private subroutine pd_set_datablock_name(this, x) +

      + +

      Sets the name to associate with the datablock in the actual GNUPLOT +plot file.

      + +

      Arguments

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      TypeIntentOptional AttributesName
      + + class(plot_data), + intent(inout) + + ::this +

      The plot_data object.

      +
      + + character(len=*), + intent(in) + + ::x +

      The name.

      +
      + + +
    • +
    +
    + +
    +
    +
    +
    +

    procedure, public :: set_draw_against_y2 => pdh_set_use_y2 @@ -1204,7 +1389,7 @@

    Arguments

    - +

    procedure, public :: set_is_filled => pdh_set_is_filled @@ -1424,7 +1609,7 @@

    Arguments

    Documentation generated by FORD - on 2026-06-14 08:02

    + on 2026-06-16 07:03


    diff --git a/doc/type/plot_data_tri_2d.html b/doc/type/plot_data_tri_2d.html index 403c76c..a1c6390 100644 --- a/doc/type/plot_data_tri_2d.html +++ b/doc/type/plot_data_tri_2d.html @@ -74,7 +74,7 @@

    plot_data_tri_2d
  • 15 statements + title="

    1.8% of total for derived types.

    Including implementation: 214 statements, 1.7% of total for derived types.">15 statements
  • @@ -130,18 +130,21 @@

    Type-Bound Procedures

    @@ -169,7 +172,61 @@

    Type-Bound Procedures

    - + +

    + procedure, public :: + create_unique_datablock_name => pd_create_unique_datablock_name + +

    +
    +
      +
    • +

      + private subroutine pd_create_unique_datablock_name(this) +

      + +

      Creates a unique name for the GNUPLOT datablock representing this +data set.

      + +

      Arguments

      + + + + + + + + + + + + + + + + + + + +
      TypeIntentOptional AttributesName
      + + class(plot_data), + intent(inout) + + ::this +

      The plot_data object.

      +
      + + +
    • +
    +
    + +
    +
    +
    +
    +

    procedure, public :: define_data => pdt2d_define_data @@ -295,7 +352,7 @@

    - +

    procedure, public :: get_command_string => pdt2d_get_cmd @@ -353,7 +410,7 @@

    - +

    procedure, public :: get_data_string => pdt2d_get_data_cmd @@ -411,6 +468,65 @@

    + +

    + procedure, public :: + get_datablock_name => pd_get_datablock_name + +

    +
    +
      +
    • +

      + private pure function pd_get_datablock_name(this) result(rst) +

      + +

      Gets the name to associate with the datablock in the actual GNUPLOT +plot file.

      + +

      Arguments

      + + + + + + + + + + + + + + + + + + + +
      TypeIntentOptional AttributesName
      + + class(plot_data), + intent(in) + + ::this +

      The plot_data object.

      +
      + +

      + Return Value + character(len=:), allocatable +

      +

      The name.

      + +
    • +
    +
    + +
    +
    +
    +

    procedure, public :: @@ -469,7 +585,7 @@

    - +

    procedure, public :: get_line_style => pdt2d_get_line_style @@ -545,7 +661,7 @@

    - +

    procedure, public :: get_line_width => pdt2d_get_line_width @@ -721,6 +837,75 @@

    Arguments

    +

  • + +

    + +
    +
    +
    +
    + +

    + procedure, public :: + set_datablock_name => pd_set_datablock_name + +

    +
    +
      +
    • +

      + private subroutine pd_set_datablock_name(this, x) +

      + +

      Sets the name to associate with the datablock in the actual GNUPLOT +plot file.

      + +

      Arguments

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      TypeIntentOptional AttributesName
      + + class(plot_data), + intent(inout) + + ::this +

      The plot_data object.

      +
      + + character(len=*), + intent(in) + + ::x +

      The name.

      +
      + +
    @@ -797,7 +982,7 @@

    Arguments

    - +

    procedure, public :: set_line_style => pdt2d_set_line_style @@ -883,7 +1068,7 @@

    Arguments

    - +

    procedure, public :: set_line_width => pdt2d_set_line_width @@ -1034,7 +1219,7 @@

    Arguments

    Documentation generated by FORD - on 2026-06-14 08:02

    + on 2026-06-16 07:03


    diff --git a/doc/type/plot_label.html b/doc/type/plot_label.html index 079f430..0ca469e 100644 --- a/doc/type/plot_label.html +++ b/doc/type/plot_label.html @@ -131,7 +131,7 @@

    Type-Bound Procedures

    get_angle - get_command_string + get_command_string get_is_visible get_position get_text @@ -223,7 +223,7 @@

    - +

    procedure, public :: get_command_string => lbl_get_cmd @@ -744,7 +744,7 @@

    Arguments

    Documentation generated by FORD - on 2026-06-14 08:02

    + on 2026-06-16 07:03


    diff --git a/doc/type/plot_object.html b/doc/type/plot_object.html index 3a41cc7..23fbfa9 100644 --- a/doc/type/plot_object.html +++ b/doc/type/plot_object.html @@ -130,7 +130,7 @@

    Type-Bound Procedures

    @@ -157,7 +157,7 @@

    Type-Bound Procedures

    - +

    procedure(get_string_result), public, deferred :: get_command_string @@ -230,7 +230,7 @@

    Documentation generated by FORD - on 2026-06-14 08:02

    + on 2026-06-16 07:03


    diff --git a/doc/type/plot_polar.html b/doc/type/plot_polar.html index d15e12a..bfb5eab 100644 --- a/doc/type/plot_polar.html +++ b/doc/type/plot_polar.html @@ -74,7 +74,7 @@

    plot_polar
  • 20 statements + title="

    2.4% of total for derived types.

    Including implementation: 574 statements, 4.6% of total for derived types.">20 statements
  • @@ -144,21 +144,21 @@

    Type-Bound Procedures

    clear_all clear_all_labels clear_arrows - draw + draw free_resources - get + get get_arrow get_arrow_count get_autoscale get_axis_equal get_bottom_margin get_colormap - get_command_string + get_command_string get_count get_draw_border - get_font_name - get_font_size - get_label + get_font_name + get_font_size + get_label get_label_count get_left_margin get_legend @@ -166,21 +166,21 @@

    Type-Bound Procedures

    get_right_margin get_show_colorbar get_show_gridlines - get_terminal + get_terminal get_theta_direction get_theta_start_position get_tics_inward - get_title + get_title get_top_margin initialize - is_title_defined + is_title_defined pop pop_arrow pop_label push push_arrow push_label - save_file + save_file set set_arrow set_autoscale @@ -188,9 +188,9 @@

    Type-Bound Procedures

    set_bottom_margin set_colormap set_draw_border - set_font_name - set_font_size - set_label + set_font_name + set_font_size + set_label set_left_margin set_radial_limits set_right_margin @@ -199,7 +199,7 @@

    Type-Bound Procedures

    set_theta_direction set_theta_start_position set_tics_inward - set_title + set_title set_top_margin
  • @@ -253,7 +253,7 @@

    Arguments

    - + type(plot_polar), intent(inout) @@ -441,7 +441,7 @@

    Arguments

    - +

    procedure, public :: draw => plt_draw @@ -582,7 +582,7 @@

    Arguments

    - +

    procedure, public :: get => plt_get @@ -1021,7 +1021,7 @@

    - +

    procedure, public :: get_command_string => plr_get_cmd @@ -1195,7 +1195,7 @@

    - +

    procedure, public :: get_font_name => plt_get_font @@ -1253,7 +1253,7 @@

    - +

    procedure, public :: get_font_size => plt_get_font_size @@ -1311,7 +1311,7 @@

    - +

    procedure, public :: get_label => plt_get_label @@ -1793,7 +1793,7 @@

    - +

    procedure, public :: get_terminal => plt_get_term @@ -2048,7 +2048,7 @@

    - +

    procedure, public :: get_title => plt_get_title @@ -2283,7 +2283,7 @@

    Arguments

    - +

    procedure, public :: is_title_defined => plt_has_title @@ -2751,7 +2751,7 @@

    Arguments

    - +

    procedure, public :: save_file => plt_save @@ -3360,7 +3360,7 @@

    Arguments

    - +

    procedure, public :: set_font_name => plt_set_font @@ -3428,7 +3428,7 @@

    Arguments

    - +

    procedure, public :: set_font_size => plt_set_font_size @@ -3499,7 +3499,7 @@

    Arguments

    - +

    procedure, public :: set_label => plt_set_label @@ -4154,7 +4154,7 @@

    Arguments

    - +

    procedure, public :: set_title => plt_set_title @@ -4307,7 +4307,7 @@

    Arguments

    Documentation generated by FORD - on 2026-06-14 08:02

    + on 2026-06-16 07:03


    diff --git a/doc/type/png_terminal.html b/doc/type/png_terminal.html index 2714a63..6e54e8d 100644 --- a/doc/type/png_terminal.html +++ b/doc/type/png_terminal.html @@ -74,7 +74,7 @@

    png_terminal
  • 9 statements + title="

    1.1% of total for derived types.

    Including implementation: 153 statements, 1.2% of total for derived types.">9 statements
  • @@ -130,20 +130,20 @@

    Type-Bound Procedures

    @@ -172,7 +172,7 @@

    Type-Bound Procedures

    - +

    procedure, public :: get_command_string => png_get_command_string @@ -289,7 +289,7 @@

    - +

    procedure, public :: get_font_name => term_get_font_name @@ -347,7 +347,7 @@

    - +

    procedure, public :: get_font_size => term_get_font_size @@ -405,7 +405,7 @@

    - +

    procedure, public :: get_id_string => png_get_term_string @@ -521,7 +521,7 @@

    - +

    procedure, public :: get_title => term_get_title @@ -763,7 +763,7 @@

    Arguments

    - +

    procedure, public :: set_font_name => term_set_font_name @@ -831,7 +831,7 @@

    Arguments

    - +

    procedure, public :: set_font_size => term_set_font_size @@ -967,7 +967,7 @@

    Arguments

    - +

    procedure, public :: set_title => term_set_title @@ -1186,7 +1186,7 @@

    Arguments

    Documentation generated by FORD - on 2026-06-14 08:02

    + on 2026-06-16 07:03


    diff --git a/doc/type/qt_terminal.html b/doc/type/qt_terminal.html index 117014c..085869d 100644 --- a/doc/type/qt_terminal.html +++ b/doc/type/qt_terminal.html @@ -130,18 +130,18 @@

    Type-Bound Procedures

    @@ -170,7 +170,7 @@

    Type-Bound Procedures

    - +

    procedure, public :: get_command_string => term_get_command_string @@ -229,7 +229,7 @@

    - +

    procedure, public :: get_font_name => term_get_font_name @@ -287,7 +287,7 @@

    - +

    procedure, public :: get_font_size => term_get_font_size @@ -345,7 +345,7 @@

    - +

    procedure, public :: get_id_string => qt_get_term_string @@ -461,7 +461,7 @@

    - +

    procedure, public :: get_title => term_get_title @@ -635,7 +635,7 @@

    - +

    procedure, public :: set_font_name => term_set_font_name @@ -703,7 +703,7 @@

    Arguments

    - +

    procedure, public :: set_font_size => term_set_font_size @@ -839,7 +839,7 @@

    Arguments

    - +

    procedure, public :: set_title => term_set_title @@ -1058,7 +1058,7 @@

    Arguments

    Documentation generated by FORD - on 2026-06-14 08:02

    + on 2026-06-16 07:03


    diff --git a/doc/type/rainbow_colormap.html b/doc/type/rainbow_colormap.html index 8ffcd98..2c40d83 100644 --- a/doc/type/rainbow_colormap.html +++ b/doc/type/rainbow_colormap.html @@ -74,7 +74,7 @@

    rainbow_colormap
  • 4 statements + title="

    0.5% of total for derived types.

    Including implementation: 92 statements, 0.7% of total for derived types.">4 statements
  • @@ -131,14 +131,14 @@

    Type-Bound Procedures

    @@ -224,7 +224,7 @@

    - +

    procedure, public :: get_command_string => cm_get_cmd @@ -282,7 +282,7 @@

    - +

    procedure, public :: get_draw_border => cm_get_draw_border @@ -400,7 +400,7 @@

    - +

    procedure, public :: get_label => cm_get_label @@ -516,7 +516,7 @@

    - +

    procedure, public :: set_draw_border => cm_set_draw_border @@ -654,7 +654,7 @@

    Arguments

    - +

    procedure, public :: set_label => cm_set_label @@ -805,7 +805,7 @@

    Arguments

    Documentation generated by FORD - on 2026-06-14 08:02

    + on 2026-06-16 07:03


    diff --git a/doc/type/scatter_plot_data.html b/doc/type/scatter_plot_data.html index 5028f96..e50bfb7 100644 --- a/doc/type/scatter_plot_data.html +++ b/doc/type/scatter_plot_data.html @@ -74,7 +74,7 @@

    scatter_plot_data
  • 47 statements + title="

    5.6% of total for derived types.

    Including implementation: 299 statements, 2.4% of total for derived types.">47 statements
  • @@ -130,16 +130,18 @@

    Type-Bound Procedures

  • @@ -194,7 +197,61 @@

    Type-Bound Procedures

    - + +

    + procedure, public :: + create_unique_datablock_name => pd_create_unique_datablock_name + +

    +
    +
      +
    • +

      + private subroutine pd_create_unique_datablock_name(this) +

      + +

      Creates a unique name for the GNUPLOT datablock representing this +data set.

      + +

      Arguments

      + + + + + + + + + + + + + + + + + + + +
      TypeIntentOptional AttributesName
      + + class(plot_data), + intent(inout) + + ::this +

      The plot_data object.

      +
      + + +
    • +
    +
    + +
    +
    +
    +
    +

    procedure(spd_get_string_result), public, deferred :: get_axes_string @@ -310,7 +367,7 @@

    - +

    procedure, public :: get_command_string => spd_get_cmd @@ -427,7 +484,7 @@

    - +

    procedure(pd_get_string_result), public, deferred :: get_data_string @@ -485,6 +542,65 @@

    + +

    + procedure, public :: + get_datablock_name => pd_get_datablock_name + +

    +
    +
      +
    • +

      + private pure function pd_get_datablock_name(this) result(rst) +

      + +

      Gets the name to associate with the datablock in the actual GNUPLOT +plot file.

      + +

      Arguments

      + + + + + + + + + + + + + + + + + + + +
      TypeIntentOptional AttributesName
      + + class(plot_data), + intent(in) + + ::this +

      The plot_data object.

      +
      + +

      + Return Value + character(len=:), allocatable +

      +

      The name.

      + +
    • +
    +
    + +
    +
    +
    +

    procedure, public :: @@ -717,7 +833,7 @@

    - +

    procedure, public :: get_line_style => spd_get_line_style @@ -1359,7 +1475,7 @@

    - +

    procedure(spd_get_value), public, deferred :: get_x @@ -1432,7 +1548,7 @@

    - +

    procedure(spd_get_value), public, deferred :: get_y @@ -1565,6 +1681,75 @@

    Arguments

    +

  • + +

    + +
    +
    +
    +
    + +

    + procedure, public :: + set_datablock_name => pd_set_datablock_name + +

    +
    +
      +
    • +

      + private subroutine pd_set_datablock_name(this, x) +

      + +

      Sets the name to associate with the datablock in the actual GNUPLOT +plot file.

      + +

      Arguments

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      TypeIntentOptional AttributesName
      + + class(plot_data), + intent(inout) + + ::this +

      The plot_data object.

      +
      + + character(len=*), + intent(in) + + ::x +

      The name.

      +
      + +
    @@ -1845,7 +2030,7 @@

    Arguments

    - +

    procedure, public :: set_line_style => spd_set_line_style @@ -2587,7 +2772,7 @@

    Arguments

    - +

    procedure(spd_set_value), public, deferred :: set_x @@ -2670,7 +2855,7 @@

    Arguments

    - +

    procedure(spd_set_value), public, deferred :: set_y @@ -2768,7 +2953,7 @@

    Arguments

    Documentation generated by FORD - on 2026-06-14 08:02

    + on 2026-06-16 07:03


    diff --git a/doc/type/surface_plot.html b/doc/type/surface_plot.html index de85783..66ee936 100644 --- a/doc/type/surface_plot.html +++ b/doc/type/surface_plot.html @@ -74,7 +74,7 @@

    surface_plot
  • 26 statements + title="

    3.1% of total for derived types.

    Including implementation: 608 statements, 4.9% of total for derived types.">26 statements
  • @@ -133,9 +133,9 @@

    Type-Bound Procedures

    clear_all clear_all_labels clear_arrows - draw + draw free_resources - get + get get_allow_smoothing get_arrow get_arrow_count @@ -143,14 +143,14 @@

    Type-Bound Procedures

    get_azimuth get_bottom_margin get_colormap - get_command_string + get_command_string get_coordinate_system get_count get_draw_border get_elevation - get_font_name - get_font_size - get_label + get_font_name + get_font_size + get_label get_label_count get_left_margin get_legend @@ -161,26 +161,26 @@

    Type-Bound Procedures

    get_show_gridlines get_show_hidden get_specular_intensity - get_terminal + get_terminal get_tics_inward - get_title + get_title get_top_margin get_transparency get_use_lighting get_use_map_view - get_x_axis - get_y_axis + get_x_axis + get_y_axis get_z_axis get_z_intersect_xy initialize - is_title_defined + is_title_defined pop pop_arrow pop_label push push_arrow push_label - save_file + save_file set set_allow_smoothing set_arrow @@ -191,9 +191,9 @@

    Type-Bound Procedures

    set_coordinate_system set_draw_border set_elevation - set_font_name - set_font_size - set_label + set_font_name + set_font_size + set_label set_left_margin set_light_intensity set_right_margin @@ -203,7 +203,7 @@

    Type-Bound Procedures

    set_show_hidden set_specular_intensity set_tics_inward - set_title + set_title set_top_margin set_transparency set_use_lighting @@ -394,7 +394,7 @@

    Arguments

    - +

    procedure, public :: draw => plt_draw @@ -535,7 +535,7 @@

    Arguments

    - +

    procedure, public :: get => plt_get @@ -1032,7 +1032,7 @@

    - +

    procedure, public :: get_command_string => surf_get_cmd @@ -1334,7 +1334,7 @@

    - +

    procedure, public :: get_font_name => plt_get_font @@ -1392,7 +1392,7 @@

    - +

    procedure, public :: get_font_size => plt_get_font_size @@ -1450,7 +1450,7 @@

    - +

    procedure, public :: get_label => plt_get_label @@ -2109,7 +2109,7 @@

    - +

    procedure, public :: get_terminal => plt_get_term @@ -2226,7 +2226,7 @@

    - +

    procedure, public :: get_title => plt_get_title @@ -2520,7 +2520,7 @@

    - +

    procedure, public :: get_x_axis => p3d_get_x_axis @@ -2578,7 +2578,7 @@

    - +

    procedure, public :: get_y_axis => p3d_get_y_axis @@ -2872,7 +2872,7 @@

    Arguments

    - +

    procedure, public :: is_title_defined => plt_has_title @@ -3340,7 +3340,7 @@

    Arguments

    - +

    procedure, public :: save_file => plt_save @@ -4164,7 +4164,7 @@

    Arguments

    - +

    procedure, public :: set_font_name => plt_set_font @@ -4232,7 +4232,7 @@

    Arguments

    - +

    procedure, public :: set_font_size => plt_set_font_size @@ -4303,7 +4303,7 @@

    Arguments

    - +

    procedure, public :: set_label => plt_set_label @@ -5009,7 +5009,7 @@

    Arguments

    - +

    procedure, public :: set_title => plt_set_title @@ -5441,7 +5441,7 @@

    Arguments

    Documentation generated by FORD - on 2026-06-14 08:02

    + on 2026-06-16 07:03


    diff --git a/doc/type/surface_plot_data.html b/doc/type/surface_plot_data.html index 74dbf46..413d2f9 100644 --- a/doc/type/surface_plot_data.html +++ b/doc/type/surface_plot_data.html @@ -74,7 +74,7 @@

    surface_plot_data
  • 19 statements + title="

    2.3% of total for derived types.

    Including implementation: 232 statements, 1.9% of total for derived types.">19 statements
  • @@ -130,20 +130,23 @@

    Type-Bound Procedures

  • @@ -170,7 +173,61 @@

    Type-Bound Procedures

    - + +

    + procedure, public :: + create_unique_datablock_name => pd_create_unique_datablock_name + +

    +
    +
      +
    • +

      + private subroutine pd_create_unique_datablock_name(this) +

      + +

      Creates a unique name for the GNUPLOT datablock representing this +data set.

      + +

      Arguments

      + + + + + + + + + + + + + + + + + + + +
      TypeIntentOptional AttributesName
      + + class(plot_data), + intent(inout) + + ::this +

      The plot_data object.

      +
      + + +
    • +
    +
    + +
    +
    +
    +
    +

    procedure, public :: define_data => surfd_set_data_1 @@ -283,7 +340,7 @@

    Arguments

    - +

    procedure, public :: get_command_string => surfd_get_cmd @@ -342,7 +399,7 @@

    - +

    procedure, public :: get_data_string => surfd_get_data_cmd @@ -400,6 +457,65 @@

    + +

    + procedure, public :: + get_datablock_name => pd_get_datablock_name + +

    +
    +
      +
    • +

      + private pure function pd_get_datablock_name(this) result(rst) +

      + +

      Gets the name to associate with the datablock in the actual GNUPLOT +plot file.

      + +

      Arguments

      + + + + + + + + + + + + + + + + + + + +
      TypeIntentOptional AttributesName
      + + class(plot_data), + intent(in) + + ::this +

      The plot_data object.

      +
      + +

      + Return Value + character(len=:), allocatable +

      +

      The name.

      + +
    • +
    +
    + +
    +
    +
    +

    procedure, public :: @@ -532,7 +648,7 @@

    - +

    procedure, public :: get_use_wireframe => surfd_get_wireframe @@ -591,7 +707,7 @@

    - +

    procedure, public :: get_x => surfd_get_x @@ -679,7 +795,7 @@

    - +

    procedure, public :: get_y => surfd_get_y @@ -767,7 +883,7 @@

    - +

    procedure, public :: get_z => surfd_get_z @@ -847,6 +963,75 @@

    The value.

    +

  • + +

    + +
    +
    +
    +
    + +

    + procedure, public :: + set_datablock_name => pd_set_datablock_name + +

    +
    +
      +
    • +

      + private subroutine pd_set_datablock_name(this, x) +

      + +

      Sets the name to associate with the datablock in the actual GNUPLOT +plot file.

      + +

      Arguments

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      TypeIntentOptional AttributesName
      + + class(plot_data), + intent(inout) + + ::this +

      The plot_data object.

      +
      + + character(len=*), + intent(in) + + ::x +

      The name.

      +
      + +
    @@ -923,7 +1108,7 @@

    Arguments

    - +

    procedure, public :: set_use_wireframe => surfd_set_wireframe @@ -992,7 +1177,7 @@

    Arguments

    - +

    procedure, public :: set_x => surfd_set_x @@ -1090,7 +1275,7 @@

    Arguments

    - +

    procedure, public :: set_y => surfd_set_y @@ -1188,7 +1373,7 @@

    Arguments

    - +

    procedure, public :: set_z => surfd_set_z @@ -1301,7 +1486,7 @@

    Arguments

    Documentation generated by FORD - on 2026-06-14 08:02

    + on 2026-06-16 07:03


    diff --git a/doc/type/terminal.html b/doc/type/terminal.html index 3d306f3..b83d217 100644 --- a/doc/type/terminal.html +++ b/doc/type/terminal.html @@ -130,18 +130,18 @@

    Type-Bound Procedures

    @@ -170,7 +170,7 @@

    Type-Bound Procedures

    - +

    procedure, public :: get_command_string => term_get_command_string @@ -229,7 +229,7 @@

    - +

    procedure, public :: get_font_name => term_get_font_name @@ -287,7 +287,7 @@

    - +

    procedure, public :: get_font_size => term_get_font_size @@ -345,7 +345,7 @@

    - +

    procedure(term_get_string_result), public, deferred :: get_id_string @@ -461,7 +461,7 @@

    - +

    procedure, public :: get_title => term_get_title @@ -635,7 +635,7 @@

    - +

    procedure, public :: set_font_name => term_set_font_name @@ -703,7 +703,7 @@

    Arguments

    - +

    procedure, public :: set_font_size => term_set_font_size @@ -839,7 +839,7 @@

    Arguments

    - +

    procedure, public :: set_title => term_set_title @@ -1058,7 +1058,7 @@

    Arguments

    Documentation generated by FORD - on 2026-06-14 08:02

    + on 2026-06-16 07:03


    diff --git a/doc/type/tri_surface_plot_data.html b/doc/type/tri_surface_plot_data.html index 7557507..3c92c9f 100644 --- a/doc/type/tri_surface_plot_data.html +++ b/doc/type/tri_surface_plot_data.html @@ -74,7 +74,7 @@

    tri_surface_plot_data
  • 13 statements + title="

    1.5% of total for derived types.

    Including implementation: 164 statements, 1.3% of total for derived types.">13 statements
  • @@ -130,13 +130,16 @@

    Type-Bound Procedures

  • @@ -164,7 +167,61 @@

    Type-Bound Procedures

    - + +

    + procedure, public :: + create_unique_datablock_name => pd_create_unique_datablock_name + +

    +
    +
      +
    • +

      + private subroutine pd_create_unique_datablock_name(this) +

      + +

      Creates a unique name for the GNUPLOT datablock representing this +data set.

      + +

      Arguments

      + + + + + + + + + + + + + + + + + + + +
      TypeIntentOptional AttributesName
      + + class(plot_data), + intent(inout) + + ::this +

      The plot_data object.

      +
      + + +
    • +
    +
    + +
    +
    +
    +
    +

    procedure, public :: define_data => tspd_define_data @@ -232,7 +289,7 @@

    Arguments

    - +

    procedure, public :: get_command_string => tspd_get_cmd @@ -290,7 +347,7 @@

    - +

    procedure, public :: get_data_string => tspd_get_data_cmd @@ -348,6 +405,65 @@

    + +

    + procedure, public :: + get_datablock_name => pd_get_datablock_name + +

    +
    +
      +
    • +

      + private pure function pd_get_datablock_name(this) result(rst) +

      + +

      Gets the name to associate with the datablock in the actual GNUPLOT +plot file.

      + +

      Arguments

      + + + + + + + + + + + + + + + + + + + +
      TypeIntentOptional AttributesName
      + + class(plot_data), + intent(in) + + ::this +

      The plot_data object.

      +
      + +

      + Return Value + character(len=:), allocatable +

      +

      The name.

      + +
    • +
    +
    + +
    +
    +
    +

    procedure, public :: @@ -406,7 +522,7 @@

    - +

    procedure, public :: get_use_wireframe => tspd_get_wireframe @@ -457,6 +573,75 @@

    Returns true if the plot is to be drawn as a wireframe; else, false to draw as a surface.

    +

  • + +

    + +
    +
    +
    +
    + +

    + procedure, public :: + set_datablock_name => pd_set_datablock_name + +

    +
    +
      +
    • +

      + private subroutine pd_set_datablock_name(this, x) +

      + +

      Sets the name to associate with the datablock in the actual GNUPLOT +plot file.

      + +

      Arguments

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      TypeIntentOptional AttributesName
      + + class(plot_data), + intent(inout) + + ::this +

      The plot_data object.

      +
      + + character(len=*), + intent(in) + + ::x +

      The name.

      +
      + +
    @@ -533,7 +718,7 @@

    Arguments

    - +

    procedure, public :: set_use_wireframe => tspd_set_wireframe @@ -617,7 +802,7 @@

    Arguments

    Documentation generated by FORD - on 2026-06-14 08:02

    + on 2026-06-16 07:03


    diff --git a/doc/type/vector_field_plot_data.html b/doc/type/vector_field_plot_data.html index d43f663..f402512 100644 --- a/doc/type/vector_field_plot_data.html +++ b/doc/type/vector_field_plot_data.html @@ -74,7 +74,7 @@

    vector_field_plot_data
  • 14 statements + title="

    1.7% of total for derived types.

    Including implementation: 254 statements, 2.0% of total for derived types.">14 statements
  • @@ -130,17 +130,20 @@

    Type-Bound Procedures

    + create_unique_datablock_name define_data get_arrow_size get_color_index get_command_string get_data_string + get_datablock_name get_fill_arrow get_line_color get_name get_use_data_dependent_colors set_arrow_size set_color_index + set_datablock_name set_fill_arrow set_line_color set_name @@ -169,6 +172,60 @@

    Type-Bound Procedures

    +
    + +

    + procedure, public :: + create_unique_datablock_name => pd_create_unique_datablock_name + +

    +
    +
      +
    • +

      + private subroutine pd_create_unique_datablock_name(this) +

      + +

      Creates a unique name for the GNUPLOT datablock representing this +data set.

      + +

      Arguments

      + + + + + + + + + + + + + + + + + + + +
      TypeIntentOptional AttributesName
      + + class(plot_data), + intent(inout) + + ::this +

      The plot_data object.

      +
      + + +
    • +
    +
    + +
    +
    +

    @@ -549,6 +606,65 @@

    + +

    + procedure, public :: + get_datablock_name => pd_get_datablock_name + +

    +
    +
      +
    • +

      + private pure function pd_get_datablock_name(this) result(rst) +

      + +

      Gets the name to associate with the datablock in the actual GNUPLOT +plot file.

      + +

      Arguments

      + + + + + + + + + + + + + + + + + + + +
      TypeIntentOptional AttributesName
      + + class(plot_data), + intent(in) + + ::this +

      The plot_data object.

      +
      + +

      + Return Value + character(len=:), allocatable +

      +

      The name.

      + +
    • +
    +
    + +
    +
    +
    +

    procedure, public :: @@ -912,6 +1028,75 @@

    Arguments

    +

  • + +

    + +
    +
    +
    +
    + +

    + procedure, public :: + set_datablock_name => pd_set_datablock_name + +

    +
    +
      +
    • +

      + private subroutine pd_set_datablock_name(this, x) +

      + +

      Sets the name to associate with the datablock in the actual GNUPLOT +plot file.

      + +

      Arguments

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      TypeIntentOptional AttributesName
      + + class(plot_data), + intent(inout) + + ::this +

      The plot_data object.

      +
      + + character(len=*), + intent(in) + + ::x +

      The name.

      +
      + +
    @@ -1139,7 +1324,7 @@

    Arguments

    Documentation generated by FORD - on 2026-06-14 08:02

    + on 2026-06-16 07:03


    diff --git a/doc/type/windows_terminal.html b/doc/type/windows_terminal.html index 33e70b8..bfc6332 100644 --- a/doc/type/windows_terminal.html +++ b/doc/type/windows_terminal.html @@ -130,18 +130,18 @@

    Type-Bound Procedures

    @@ -170,7 +170,7 @@

    Type-Bound Procedures

    - +

    procedure, public :: get_command_string => term_get_command_string @@ -229,7 +229,7 @@

    - +

    procedure, public :: get_font_name => term_get_font_name @@ -287,7 +287,7 @@

    - +

    procedure, public :: get_font_size => term_get_font_size @@ -461,7 +461,7 @@

    - +

    procedure, public :: get_title => term_get_title @@ -635,7 +635,7 @@

    - +

    procedure, public :: set_font_name => term_set_font_name @@ -703,7 +703,7 @@

    Arguments

    - +

    procedure, public :: set_font_size => term_set_font_size @@ -839,7 +839,7 @@

    Arguments

    - +

    procedure, public :: set_title => term_set_title @@ -1058,7 +1058,7 @@

    Arguments

    Documentation generated by FORD - on 2026-06-14 08:02

    + on 2026-06-16 07:03


    diff --git a/doc/type/wxt_terminal.html b/doc/type/wxt_terminal.html index 85ae3e3..78720a0 100644 --- a/doc/type/wxt_terminal.html +++ b/doc/type/wxt_terminal.html @@ -130,18 +130,18 @@

    Type-Bound Procedures

    @@ -170,7 +170,7 @@

    Type-Bound Procedures

    - +

    procedure, public :: get_command_string => term_get_command_string @@ -229,7 +229,7 @@

    - +

    procedure, public :: get_font_name => term_get_font_name @@ -287,7 +287,7 @@

    - +

    procedure, public :: get_font_size => term_get_font_size @@ -345,7 +345,7 @@

    - +

    procedure, public :: get_id_string => wxt_get_term_string @@ -461,7 +461,7 @@

    - +

    procedure, public :: get_title => term_get_title @@ -635,7 +635,7 @@

    - +

    procedure, public :: set_font_name => term_set_font_name @@ -703,7 +703,7 @@

    Arguments

    - +

    procedure, public :: set_font_size => term_set_font_size @@ -839,7 +839,7 @@

    Arguments

    - +

    procedure, public :: set_title => term_set_title @@ -1058,7 +1058,7 @@

    Arguments

    Documentation generated by FORD - on 2026-06-14 08:02

    + on 2026-06-16 07:03


    diff --git a/doc/type/x_axis.html b/doc/type/x_axis.html index 3d00b37..6d8a2c9 100644 --- a/doc/type/x_axis.html +++ b/doc/type/x_axis.html @@ -74,7 +74,7 @@

    x_axis
  • 5 statements + title="

    0.6% of total for derived types.

    Including implementation: 349 statements, 2.8% of total for derived types.">5 statements
  • @@ -131,8 +131,8 @@

    Type-Bound Procedures

    get_autoscale - get_command_string - get_id_string + get_command_string + get_id_string get_is_log_scaled get_limits get_manual_tic_labels @@ -257,7 +257,7 @@

    - +

    procedure, public :: get_command_string => pa_get_cmd_string @@ -316,7 +316,7 @@

    - +

    procedure, public :: get_id_string => xa_get_id @@ -1660,7 +1660,7 @@

    Gets the axis display limits, assuming autoscaling is not -active for this axis. This routine also calls set_autoscale and +active for this axis. This routine also calls set_autoscale and sets the property value to false.

    Arguments

    @@ -1745,7 +1745,7 @@

    Sets a list of manual tic labels. This routine also sets -set_use_manual_tic_labels to true.

    +set_use_manual_tic_labels to true.

    Arguments

    @@ -2865,7 +2865,7 @@

    Arguments

    Documentation generated by FORD - on 2026-06-14 08:02

    + on 2026-06-16 07:03


    diff --git a/doc/type/y2_axis.html b/doc/type/y2_axis.html index c643429..1ecc369 100644 --- a/doc/type/y2_axis.html +++ b/doc/type/y2_axis.html @@ -74,7 +74,7 @@

    y2_axis
  • 5 statements + title="

    0.6% of total for derived types.

    Including implementation: 349 statements, 2.8% of total for derived types.">5 statements
  • @@ -131,8 +131,8 @@

    Type-Bound Procedures

    get_autoscale - get_command_string - get_id_string + get_command_string + get_id_string get_is_log_scaled get_limits get_manual_tic_labels @@ -257,7 +257,7 @@

    - +

    procedure, public :: get_command_string => pa_get_cmd_string @@ -316,7 +316,7 @@

    - +

    procedure, public :: get_id_string => y2a_get_id @@ -1660,7 +1660,7 @@

    Gets the axis display limits, assuming autoscaling is not -active for this axis. This routine also calls set_autoscale and +active for this axis. This routine also calls set_autoscale and sets the property value to false.

    Arguments

    @@ -1745,7 +1745,7 @@

    Sets a list of manual tic labels. This routine also sets -set_use_manual_tic_labels to true.

    +set_use_manual_tic_labels to true.

    Arguments

  • @@ -2865,7 +2865,7 @@

    Arguments

    Documentation generated by FORD - on 2026-06-14 08:02

    + on 2026-06-16 07:03


    diff --git a/doc/type/y_axis.html b/doc/type/y_axis.html index 2d98e2a..4f61651 100644 --- a/doc/type/y_axis.html +++ b/doc/type/y_axis.html @@ -74,7 +74,7 @@

    y_axis
  • 5 statements + title="

    0.6% of total for derived types.

    Including implementation: 349 statements, 2.8% of total for derived types.">5 statements
  • @@ -131,8 +131,8 @@

    Type-Bound Procedures

    get_autoscale - get_command_string - get_id_string + get_command_string + get_id_string get_is_log_scaled get_limits get_manual_tic_labels @@ -257,7 +257,7 @@

    - +

    procedure, public :: get_command_string => pa_get_cmd_string @@ -316,7 +316,7 @@

    - +

    procedure, public :: get_id_string => ya_get_id @@ -1660,7 +1660,7 @@

    Gets the axis display limits, assuming autoscaling is not -active for this axis. This routine also calls set_autoscale and +active for this axis. This routine also calls set_autoscale and sets the property value to false.

    Arguments

    @@ -1745,7 +1745,7 @@

    Sets a list of manual tic labels. This routine also sets -set_use_manual_tic_labels to true.

    +set_use_manual_tic_labels to true.

    Arguments

  • @@ -2865,7 +2865,7 @@

    Arguments

    Documentation generated by FORD - on 2026-06-14 08:02

    + on 2026-06-16 07:03


    diff --git a/doc/type/z_axis.html b/doc/type/z_axis.html index 370f5f3..bcc4129 100644 --- a/doc/type/z_axis.html +++ b/doc/type/z_axis.html @@ -74,7 +74,7 @@

    z_axis
  • 5 statements + title="

    0.6% of total for derived types.

    Including implementation: 349 statements, 2.8% of total for derived types.">5 statements
  • @@ -131,8 +131,8 @@

    Type-Bound Procedures

    get_autoscale - get_command_string - get_id_string + get_command_string + get_id_string get_is_log_scaled get_limits get_manual_tic_labels @@ -257,7 +257,7 @@

    - +

    procedure, public :: get_command_string => pa_get_cmd_string @@ -316,7 +316,7 @@

    - +

    procedure, public :: get_id_string => za_get_id @@ -1660,7 +1660,7 @@

    Gets the axis display limits, assuming autoscaling is not -active for this axis. This routine also calls set_autoscale and +active for this axis. This routine also calls set_autoscale and sets the property value to false.

    Arguments

    @@ -1745,7 +1745,7 @@

    Sets a list of manual tic labels. This routine also sets -set_use_manual_tic_labels to true.

    +set_use_manual_tic_labels to true.

    Arguments

  • @@ -2865,7 +2865,7 @@

    Arguments

    Documentation generated by FORD - on 2026-06-14 08:02

    + on 2026-06-16 07:03


    diff --git a/examples/triangle_mesh_surface_example.f90 b/examples/triangle_mesh_surface_example.f90 index deeb7bf..34920ff 100644 --- a/examples/triangle_mesh_surface_example.f90 +++ b/examples/triangle_mesh_surface_example.f90 @@ -33,10 +33,10 @@ program example ! Print the interpolated values print '(A)', "Interpolated Value:" - print '(AF0.3AF0.3AF0.3)', achar(9), xi, achar(9), yi, achar(9), zi + print '(A, F0.3, A, F0.3, A, F0.3)', achar(9), xi, achar(9), yi, achar(9), zi print '(A)', "Actual Values:" - print '(AF0.3AF0.3AF0.3)', achar(9), xi, achar(9), yi, achar(9), & + print '(A, F0.3, A, F0.3, A, F0.3)', achar(9), xi, achar(9), yi, achar(9), & sin(xi) + sin(yi) ! Generate the plot diff --git a/examples/triangulation_2d_example.f90 b/examples/triangulation_2d_example.f90 index d0745d2..bf4e867 100644 --- a/examples/triangulation_2d_example.f90 +++ b/examples/triangulation_2d_example.f90 @@ -27,7 +27,7 @@ program example call tri%create(x, y) ! Display the number of points and elements - print '(AI0AI0A)', "The triangulation consists of ", & + print '(A, I0, A, I0, A)', "The triangulation consists of ", & tri%get_point_count(), " points, and ", tri%get_triangle_count(), & " triangles." diff --git a/fpm.toml b/fpm.toml index e6c03d7..173f699 100644 --- a/fpm.toml +++ b/fpm.toml @@ -1,5 +1,5 @@ name = "fplot" -version = "1.8.6" +version = "1.8.8" license = "GPL-3.0" author = "Jason Christopherson" maintainer = "Jason Christopherson" diff --git a/src/fplot_filled_plot_data.f90 b/src/fplot_filled_plot_data.f90 index 165adb3..01d40d1 100644 --- a/src/fplot_filled_plot_data.f90 +++ b/src/fplot_filled_plot_data.f90 @@ -85,14 +85,18 @@ function fpd_get_cmd(this) result(x) ! Initialization call str%initialize() + ! Data Block + call str%append(" $") + call str%append(this%get_datablock_name()) + ! Title n = len_trim(this%get_name()) if (n > 0) then - call str%append(' "-" title "') + call str%append(' title "') call str%append(this%get_name()) call str%append('"') else - call str%append(' "-" notitle') + call str%append(' notitle') end if ! Establish filled data @@ -192,6 +196,11 @@ subroutine fpd_define_data(this, x, y, yc, err) return end if + ! Create a name + if (len(this%get_datablock_name()) == 0) then + call this%create_unique_datablock_name() + end if + ! Store the data do concurrent (i = 1:n) this%m_data(i,1) = x(i) diff --git a/src/fplot_plot_2d.f90 b/src/fplot_plot_2d.f90 index 57812ee..9ec780f 100644 --- a/src/fplot_plot_2d.f90 +++ b/src/fplot_plot_2d.f90 @@ -296,27 +296,28 @@ function p2d_get_cmd(this) result(x) call str%append("unset jitter") end if - ! Define the plot function and data formatting commands + ! Define the datablock n = this%get_count() - call str%append(new_line('a')) - call str%append("plot ") do i = 1, n ptr => this%get(i) if (.not.associated(ptr)) cycle - call str%append(ptr%get_command_string()) - if (i /= n) call str%append(", ") + call str%append(new_line('a')) + call str%append("$") + call str%append(ptr%get_datablock_name()) + call str%append(" << EOD") + call str%append(new_line('a')) + call str%append(ptr%get_data_string()) + call str%append("EOD") end do - ! Define the data to plot + ! Define the plot function and data formatting commands + call str%append(new_line('a')) + call str%append("plot ") do i = 1, n ptr => this%get(i) if (.not.associated(ptr)) cycle - call str%append(new_line('a')) - call str%append(ptr%get_data_string()) - call str%append("e") - ! if (i /= n) then - ! call str%append("e") - ! end if + call str%append(ptr%get_command_string()) + if (i /= n) call str%append(", ") end do ! End diff --git a/src/fplot_plot_3d.f90 b/src/fplot_plot_3d.f90 index 22aa7b7..51c351e 100644 --- a/src/fplot_plot_3d.f90 +++ b/src/fplot_plot_3d.f90 @@ -290,27 +290,28 @@ function p3d_get_cmd(this) result(x) call str%append("set mapping spherical") end if - ! Define the plot function and data formatting commands + ! Define the datablock n = this%get_count() - call str%append(new_line('a')) - call str%append("splot ") do i = 1, n ptr => this%get(i) if (.not.associated(ptr)) cycle - call str%append(ptr%get_command_string()) - if (i /= n) call str%append(", ") + call str%append(new_line('a')) + call str%append("$") + call str%append(ptr%get_datablock_name()) + call str%append(" << EOD") + call str%append(new_line('a')) + call str%append(ptr%get_data_string()) + call str%append("EOD") end do - ! Define the data to plot + ! Define the plot function and data formatting commands + call str%append(new_line('a')) + call str%append("splot ") do i = 1, n ptr => this%get(i) if (.not.associated(ptr)) cycle - call str%append(new_line('a')) - call str%append(ptr%get_data_string()) - call str%append("e") - ! if (i /= n) then - ! call str%append("e") - ! end if + call str%append(ptr%get_command_string()) + if (i /= n) call str%append(", ") end do ! End diff --git a/src/fplot_plot_data.f90 b/src/fplot_plot_data.f90 index 5171745..6599df2 100644 --- a/src/fplot_plot_data.f90 +++ b/src/fplot_plot_data.f90 @@ -24,9 +24,16 @@ module fplot_plot_data private character(len = PLOTDATA_MAX_NAME_LENGTH) :: m_name = "" !! The name to associate with the data set. + character(len = PLOTDATA_MAX_NAME_LENGTH) :: m_datablockName = "" + !! The name to associate with the datablock used to store the data + !! in the actual plot file. contains procedure, public :: get_name => pd_get_name procedure, public :: set_name => pd_set_name + procedure, public :: get_datablock_name => pd_get_datablock_name + procedure, public :: set_datablock_name => pd_set_datablock_name + procedure, public :: create_unique_datablock_name => & + pd_create_unique_datablock_name procedure(pd_get_string_result), deferred, public :: get_data_string end type @@ -194,6 +201,53 @@ subroutine pd_set_name(this, txt) end if end subroutine +! ------------------------------------------------------------------------------ + pure function pd_get_datablock_name(this) result(rst) + !! Gets the name to associate with the datablock in the actual GNUPLOT + !! plot file. + class(plot_data), intent(in) :: this + !! The plot_data object. + character(len = :), allocatable :: rst + !! The name. + + rst = trim(this%m_datablockName) + end function + +! -------------------- + subroutine pd_set_datablock_name(this, x) + !! Sets the name to associate with the datablock in the actual GNUPLOT + !! plot file. + class(plot_data), intent(inout) :: this + !! The plot_data object. + character(len = *), intent(in) :: x + !! The name. + + integer(int32) :: n + n = min(len(x), PLOTDATA_MAX_NAME_LENGTH) + this%m_datablockName = "" + if (n /= 0) then + this%m_datablockName(1:n) = x(1:n) + end if + end subroutine + +! ------------------------------------------------------------------------------ + subroutine pd_create_unique_datablock_name(this) + !! Creates a unique name for the GNUPLOT datablock representing this + !! data set. + class(plot_data), intent(inout) :: this + !! The plot_data object. + + type(string) :: str + real(real64) :: r, rng + integer(int32) :: count + + call random_number(r) + r = r * huge(count) + count = floor(r) + str = "PlotData" // to_string(count) + call this%set_datablock_name(char(str)) + end subroutine + ! ****************************************************************************** ! PLOT_DATA_COLORED ! ------------------------------------------------------------------------------ @@ -260,14 +314,18 @@ function spd_get_cmd(this) result(x) ! Initialization call str%initialize() + ! Data Block + call str%append(" $") + call str%append(this%get_datablock_name()) + ! Title n = len_trim(this%get_name()) if (n > 0) then - call str%append(' "-" title "') + call str%append(' title "') call str%append(this%get_name()) call str%append('"') else - call str%append(' "-" notitle') + call str%append(' notitle') end if ! Lines, points, or filled diff --git a/src/fplot_plot_data_2d.f90 b/src/fplot_plot_data_2d.f90 index 8310bf0..5adce19 100644 --- a/src/fplot_plot_data_2d.f90 +++ b/src/fplot_plot_data_2d.f90 @@ -249,6 +249,10 @@ subroutine pd2d_set_data_1(this, x, y, c, ps, err) errmgr => deferr end if + if (len(this%get_datablock_name()) == 0) then + call this%create_unique_datablock_name() + end if + ! Input Check if (size(y) /= n) then call report_array_size_mismatch_error(errmgr, "pd2d_set_data_1", & @@ -374,6 +378,10 @@ subroutine pd2d_set_data_2(this, y, err) errmgr => deferr end if + if (len(this%get_datablock_name()) == 0) then + call this%create_unique_datablock_name() + end if + ! Process if (allocated(this%m_data)) deallocate(this%m_data) allocate(this%m_data(n, 2), stat = flag) diff --git a/src/fplot_plot_data_3d.f90 b/src/fplot_plot_data_3d.f90 index eb879e6..1474524 100644 --- a/src/fplot_plot_data_3d.f90 +++ b/src/fplot_plot_data_3d.f90 @@ -283,6 +283,10 @@ subroutine pd3d_set_data_1(this, x, y, z, c, ps, err) errmgr => deferr end if + if (len(this%get_datablock_name()) == 0) then + call this%create_unique_datablock_name() + end if + ! Input Check if (size(y) /= n) then call report_array_size_mismatch_error(errmgr, "pd3d_set_data_1", & diff --git a/src/fplot_plot_data_bar.f90 b/src/fplot_plot_data_bar.f90 index 1b1159a..2af7801 100644 --- a/src/fplot_plot_data_bar.f90 +++ b/src/fplot_plot_data_bar.f90 @@ -188,8 +188,9 @@ function pdb_get_cmd(this) result(x) ! Initialization call str%initialize() - ! Starting off... - call str%append(' "-" ') + ! Data Block + call str%append(" $") + call str%append(this%get_datablock_name()) ! Tic Labels if (this%get_use_labels() .and. allocated(this%m_barData) .and. & @@ -456,6 +457,10 @@ subroutine pdb_set_data_1_core(this, x, err) end if n = size(x) + if (len(this%get_datablock_name()) == 0) then + call this%create_unique_datablock_name() + end if + ! Process if (allocated(this%m_axisLabels)) deallocate(this%m_axisLabels) if (allocated(this%m_barData)) deallocate(this%m_barData) @@ -492,6 +497,10 @@ subroutine pdb_set_data_2_core(this, labels, x, err) end if n = size(x) + if (len(this%get_datablock_name()) == 0) then + call this%create_unique_datablock_name() + end if + ! Input Check if (size(labels) /= n) then call report_array_size_mismatch_error(errmgr, "pdb_set_data_2_core", & @@ -540,6 +549,10 @@ subroutine pdb_set_data_3_core(this, labels, x, fmt, err) end if n = size(x) + if (len(this%get_datablock_name()) == 0) then + call this%create_unique_datablock_name() + end if + ! Input Check if (size(labels) /= n) then call report_array_size_mismatch_error(errmgr, "pdb_set_data_3_core", & diff --git a/src/fplot_plot_data_box_whisker.f90 b/src/fplot_plot_data_box_whisker.f90 index 79c56b8..b88f6f0 100644 --- a/src/fplot_plot_data_box_whisker.f90 +++ b/src/fplot_plot_data_box_whisker.f90 @@ -90,6 +90,10 @@ subroutine pdbw_define_data_xstring(this, x, boxmin, boxmax, whiskermin, & end if n = size(x) + if (len(this%get_datablock_name()) == 0) then + call this%create_unique_datablock_name() + end if + ! Allocations if (allocated(this%m_x)) deallocate(this%m_x) if (allocated(this%m_boxMin)) deallocate(this%m_boxMin) @@ -121,9 +125,12 @@ function pdbw_get_cmd(this) result(rst) integer(int32) :: n, nname type(color) :: clr + ! Data Block + call str%append(" $") + call str%append(this%get_datablock_name()) + ! Style - ! call str%append(' "-" using ($0+1):2:3:4:5:xtic(1) with candlesticks') - call str%append(' "-" using ($0+1):2:3:4:5:(') + call str%append(' using ($0+1):2:3:4:5:(') call str%append(to_string(this%get_box_width())) call str%append("):xtic(1) with candlesticks") diff --git a/src/fplot_plot_data_error_bars.f90 b/src/fplot_plot_data_error_bars.f90 index aab2560..e71c70a 100644 --- a/src/fplot_plot_data_error_bars.f90 +++ b/src/fplot_plot_data_error_bars.f90 @@ -67,14 +67,18 @@ function pde_get_cmd(this) result(cmd) ! Initialization call str%initialize() + ! Data Block + call str%append(" $") + call str%append(this%get_datablock_name()) + ! Title n = len_trim(this%get_name()) if (n > 0) then - call str%append(' "-" title "') + call str%append(' title "') call str%append(this%get_name()) call str%append('"') else - call str%append(' "-" notitle') + call str%append(' notitle') end if ! Color @@ -225,6 +229,10 @@ subroutine pde_define_x_err(this, x, y, xerr, err) errmgr => deferr end if + if (len(this%get_datablock_name()) == 0) then + call this%create_unique_datablock_name() + end if + ! Input Checking if (size(y) /= n) then call report_array_size_mismatch_error(errmgr, "pde_define_x_err", & @@ -284,6 +292,10 @@ subroutine pde_define_y_err(this, x, y, yerr, err) errmgr => deferr end if + if (len(this%get_datablock_name()) == 0) then + call this%create_unique_datablock_name() + end if + ! Input Checking if (size(y) /= n) then call report_array_size_mismatch_error(errmgr, "pde_define_y_err", & @@ -344,6 +356,10 @@ subroutine pde_define_xy_err(this, x, y, xerr, yerr, err) errmgr => deferr end if + if (len(this%get_datablock_name()) == 0) then + call this%create_unique_datablock_name() + end if + ! Input Checking if (size(y) /= n) then call report_array_size_mismatch_error(errmgr, "pde_define_xy_err", & @@ -487,6 +503,10 @@ subroutine pde_define_x_err_lim(this, x, y, xmin, xmax, err) errmgr => deferr end if + if (len(this%get_datablock_name()) == 0) then + call this%create_unique_datablock_name() + end if + ! Input Checking if (size(y) /= n) then call report_array_size_mismatch_error(errmgr, & @@ -557,6 +577,10 @@ subroutine pde_define_y_err_lim(this, x, y, ymin, ymax, err) errmgr => deferr end if + if (len(this%get_datablock_name()) == 0) then + call this%create_unique_datablock_name() + end if + ! Input Checking if (size(y) /= n) then call report_array_size_mismatch_error(errmgr, & @@ -633,6 +657,10 @@ subroutine pde_define_xy_err_lim(this, x, y, xmin, xmax, ymin, & errmgr => deferr end if + if (len(this%get_datablock_name()) == 0) then + call this%create_unique_datablock_name() + end if + ! Input Checking if (size(y) /= n) then call report_array_size_mismatch_error(errmgr, & diff --git a/src/fplot_plot_data_histogram.f90 b/src/fplot_plot_data_histogram.f90 index e943ae3..ef12f2e 100644 --- a/src/fplot_plot_data_histogram.f90 +++ b/src/fplot_plot_data_histogram.f90 @@ -110,6 +110,10 @@ subroutine pdh_define_data(this, x, err) n = size(x) nbins = min(n, this%get_bin_count()) ! protects against the case where nbins > n however unlikely + if (len(this%get_datablock_name()) == 0) then + call this%create_unique_datablock_name() + end if + ! Get the max and min of the entire data set maxX = maxval(x) minX = minval(x) @@ -162,7 +166,8 @@ function pdh_get_cmd(this) result(rst) type(color) :: clr ! Process - call str%append(' "-" ') + call str%append(" $") + call str%append(this%get_datablock_name()) call str%append(" with boxes ") ! Color diff --git a/src/fplot_plot_data_tri_2d.f90 b/src/fplot_plot_data_tri_2d.f90 index 703836e..4b7ddf2 100644 --- a/src/fplot_plot_data_tri_2d.f90 +++ b/src/fplot_plot_data_tri_2d.f90 @@ -146,14 +146,18 @@ function pdt2d_get_cmd(this) result(x) ! Initialization call str%initialize() + ! Data Block + call str%append(" $") + call str%append(this%get_datablock_name()) + ! Title n = len_trim(this%get_name()) if (n > 0) then - call str%append(' "-" title "') + call str%append(' title "') call str%append(this%get_name()) call str%append('"') else - call str%append(' "-" notitle') + call str%append(' notitle') end if ! Lines @@ -194,6 +198,10 @@ subroutine pdt2d_define_data(this, tri) if (allocated(this%m_y)) deallocate(this%m_y) if (allocated(this%m_indices)) deallocate(this%m_indices) + if (len(this%get_datablock_name()) == 0) then + call this%create_unique_datablock_name() + end if + this%m_x = tri%get_points_x() this%m_y = tri%get_points_y() this%m_indices = tri%get_indices() diff --git a/src/fplot_plot_polar.f90 b/src/fplot_plot_polar.f90 index ce171d3..c08d257 100644 --- a/src/fplot_plot_polar.f90 +++ b/src/fplot_plot_polar.f90 @@ -220,24 +220,28 @@ function plr_get_cmd(this) result(x) ! call str%append(lbl%get_command_string()) ! end do - ! Define the plot function and data formatting commands + ! Define the datablock n = this%get_count() - call str%append(new_line('a')) - call str%append("plot ") do i = 1, n ptr => this%get(i) if (.not.associated(ptr)) cycle - call str%append(ptr%get_command_string()) - if (i /= n) call str%append(", ") + call str%append(new_line('a')) + call str%append("$") + call str%append(ptr%get_datablock_name()) + call str%append(" << EOD") + call str%append(new_line('a')) + call str%append(ptr%get_data_string()) + call str%append("EOD") end do - ! Define the data to plot + ! Define the plot function and data formatting commands + call str%append(new_line('a')) + call str%append("plot ") do i = 1, n ptr => this%get(i) if (.not.associated(ptr)) cycle - call str%append(new_line('a')) - call str%append(ptr%get_data_string()) - call str%append("e") + call str%append(ptr%get_command_string()) + if (i /= n) call str%append(", ") end do ! End diff --git a/src/fplot_surface_plot_data.f90 b/src/fplot_surface_plot_data.f90 index 914cf60..ce5ed02 100644 --- a/src/fplot_surface_plot_data.f90 +++ b/src/fplot_surface_plot_data.f90 @@ -192,14 +192,18 @@ function surfd_get_cmd(this) result(x) ! Initialization call str%initialize() + ! Data Block + call str%append(" $") + call str%append(this%get_datablock_name()) + ! Title n = len_trim(this%get_name()) if (n > 0) then - call str%append(' "-" title "') + call str%append(' title "') call str%append(this%get_name()) call str%append('"') else - call str%append(' "-" notitle') + call str%append(' notitle') end if ! PM3D or wireframe? @@ -278,6 +282,10 @@ subroutine surfd_set_data_1(this, x, y, z, err) errmgr => deferr end if + if (len(this%get_datablock_name()) == 0) then + call this%create_unique_datablock_name() + end if + ! Input Check if (size(y, 1) /= m .or. size(y, 2) /= n) then call report_matrix_size_mismatch_error(errmgr, "surfd_set_data_1", & diff --git a/src/fplot_tri_surface_plot_data.f90 b/src/fplot_tri_surface_plot_data.f90 index 3dcba63..692ce1b 100644 --- a/src/fplot_tri_surface_plot_data.f90 +++ b/src/fplot_tri_surface_plot_data.f90 @@ -141,14 +141,18 @@ function tspd_get_cmd(this) result(x) ! Initialization call str%initialize() + ! Data Block + call str%append(" $") + call str%append(this%get_datablock_name()) + ! Title n = len_trim(this%get_name()) if (n > 0) then - call str%append(' "-" title "') + call str%append(' title "') call str%append(this%get_name()) call str%append('"') else - call str%append(' "-" notitle') + call str%append(' notitle') end if ! PM3D or wireframe? @@ -198,6 +202,10 @@ subroutine tspd_define_data(this, tri) if (allocated(this%m_z)) deallocate(this%m_z) if (allocated(this%m_indices)) deallocate(this%m_indices) + if (len(this%get_datablock_name()) == 0) then + call this%create_unique_datablock_name() + end if + this%m_x = tri%get_points_x() this%m_y = tri%get_points_y() this%m_z = tri%get_points_z() diff --git a/src/fplot_vector_field_plot_data.f90 b/src/fplot_vector_field_plot_data.f90 index c4041e1..9c03b26 100644 --- a/src/fplot_vector_field_plot_data.f90 +++ b/src/fplot_vector_field_plot_data.f90 @@ -118,14 +118,18 @@ function vfpd_get_cmd(this) result(x) ! Initialization call str%initialize() + ! Data Block + call str%append(" $") + call str%append(this%get_datablock_name()) + ! Title n = len_trim(this%get_name()) if (n > 0) then - call str%append(' "-" title "') + call str%append(' title "') call str%append(this%get_name()) call str%append('"') else - call str%append(' "-" notitle') + call str%append(' notitle') end if ! Property Definition @@ -208,6 +212,11 @@ subroutine vfpd_define_data(this, x, y, dx, dy, c, err) end if end if + ! Create a name + if (len(this%get_datablock_name()) == 0) then + call this%create_unique_datablock_name() + end if + ! Allocate space for the data if (allocated(this%m_data)) deallocate(this%m_data) if (present(c)) then