fortplot_3d_plots Module

3D plot operations module

This module handles all 3D plot operations including 3D line plots and surface plots rendered using the dedicated 3D surface pipeline.



Subroutines

public subroutine add_3d_plot(self, x, y, z, label, linestyle, marker, markersize, linewidth)

Add 3D line plot to figure (projected to 2D)

Arguments

Type IntentOptional Attributes Name
class(figure_t), intent(inout) :: self
real(kind=wp), intent(in) :: x(:)
real(kind=wp), intent(in) :: y(:)
real(kind=wp), intent(in) :: z(:)
character(len=*), intent(in), optional :: label
character(len=*), intent(in), optional :: linestyle
character(len=*), intent(in), optional :: marker
real(kind=wp), intent(in), optional :: markersize
real(kind=wp), intent(in), optional :: linewidth

public subroutine add_surface(self, x, y, z, label, colormap, show_colorbar, alpha, edgecolor, linewidth)

Add surface plot to figure

Arguments

Type IntentOptional Attributes Name
class(figure_t), intent(inout) :: self
real(kind=wp), intent(in) :: x(:)
real(kind=wp), intent(in) :: y(:)
real(kind=wp), intent(in) :: z(:,:)
character(len=*), intent(in), optional :: label
character(len=*), intent(in), optional :: 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

public subroutine add_3d_line_plot_data(self, x, y, z, label, linestyle, marker, markersize, linewidth)

Add 3D line plot data by projecting to 2D

Arguments

Type IntentOptional Attributes Name
class(figure_t), intent(inout) :: self
real(kind=wp), intent(in) :: x(:)
real(kind=wp), intent(in) :: y(:)
real(kind=wp), intent(in) :: z(:)
character(len=*), intent(in), optional :: label
character(len=*), intent(in), optional :: linestyle
character(len=*), intent(in), optional :: marker
real(kind=wp), intent(in), optional :: markersize
real(kind=wp), intent(in), optional :: linewidth