| Module | Source File | Description |
|---|---|---|
| fortplot | fortplot.f90 | Top-level public interface for fortplot - Modern Fortran plotting library |
| fortplot_2d_plots | fortplot_2d_plots.f90 | 2D plot operations module |
| fortplot_3d_axes | fortplot_3d_axes.f90 | 3D axes rendering module for projecting 3D axis frames to 2D |
| fortplot_3d_plots | fortplot_3d_plots.f90 | 3D plot operations module |
| fortplot_animation | fortplot_animation.f90 | |
| fortplot_animation_core | fortplot_animation_core.f90 | |
| fortplot_animation_pipeline | fortplot_animation_pipeline.f90 | |
| fortplot_animation_rendering | fortplot_animation_rendering.f90 | |
| fortplot_animation_validation | fortplot_animation_validation.f90 | |
| fortplot_annotation_coordinates | fortplot_annotation_coordinates.f90 | Coordinate transformation functions for text annotations |
| fortplot_annotation_layout | fortplot_annotation_layout.f90 | Text layout, positioning and typography functions for annotations |
| fortplot_annotation_rendering | fortplot_annotation_rendering.f90 | Annotation rendering dispatch system for fortplot |
| fortplot_annotation_types | fortplot_annotation_types.f90 | Type definitions and basic operations for text annotations |
| fortplot_annotations | fortplot_annotations.f90 | Text annotation system for fortplot (Issue #55) |
| fortplot_ascii | fortplot_ascii.f90 | ASCII terminal plotting backend |
| fortplot_ascii_backend_ops | fortplot_ascii_backend_ops.f90 | ASCII terminal plotting backend - Backend Operations |
| fortplot_ascii_backend_support | fortplot_ascii_backend_support.f90 | ASCII terminal plotting backend - Backend Support Functions |
| fortplot_ascii_drawing | fortplot_ascii_drawing.f90 | ASCII terminal plotting backend - Basic Drawing Elements |
| fortplot_ascii_elements | fortplot_ascii_elements.f90 | ASCII terminal plotting backend - Drawing Elements (Re-export Module) |
| fortplot_ascii_legend | fortplot_ascii_legend.f90 | ASCII terminal plotting backend - Legend Management |
| fortplot_ascii_legend_decode | fortplot_ascii_legend_decode.f90 | ASCII legend line decoding and render implementation |
| fortplot_ascii_legend_helpers | fortplot_ascii_legend_helpers.f90 | ASCII legend helper functions |
| fortplot_ascii_legend_pie | fortplot_ascii_legend_pie.f90 | Pie chart autopct queue management |
| fortplot_ascii_legend_render | fortplot_ascii_legend_render.f90 | ASCII legend rendering and dimension/position calculations |
| fortplot_ascii_mathtext | fortplot_ascii_mathtext.f90 | ASCII mathtext and Unicode fallback utilities. |
| fortplot_ascii_player | fortplot_ascii_player.f90 | Plays back ASCII animations produced by save_animation(*.txt). |
| fortplot_ascii_primitives | fortplot_ascii_primitives.f90 | ASCII terminal plotting backend - Drawing Primitives |
| fortplot_ascii_rendering | fortplot_ascii_rendering.f90 | ASCII terminal plotting backend - Core Rendering Logic |
| fortplot_ascii_secondary_axes | fortplot_ascii_secondary_axes.f90 | ASCII backend secondary axis rendering |
| fortplot_ascii_text | fortplot_ascii_text.f90 | ASCII terminal plotting backend - Text and Layout Management |
| fortplot_ascii_text_elements | fortplot_ascii_text_elements.f90 | ASCII terminal plotting backend - Text Element Management |
| fortplot_ascii_utils | fortplot_ascii_utils.f90 | ASCII terminal plotting backend - Utility Functions |
| fortplot_axes | fortplot_axes.f90 | Axes and tick generation module |
| fortplot_axes_date | fortplot_axes_date.f90 | Date axis handling module |
| fortplot_bar_rendering | fortplot_bar_rendering.f90 | Bar plot rendering for memory/vector backends |
| fortplot_bitmap | fortplot_bitmap.f90 | |
| fortplot_boxplot_rendering | fortplot_boxplot_rendering.f90 | Box plot rendering for memory backends (shared for raster/PDF via context) |
| fortplot_color_conversions | fortplot_color_conversions.f90 | Color space conversions and colormap functionality |
| fortplot_color_definitions | fortplot_color_definitions.f90 | Color type definitions and constants for matplotlib-compatible color support |
| fortplot_color_parsing | fortplot_color_parsing.f90 | Core color parsing functionality for matplotlib-compatible color syntax |
| fortplot_colormap | fortplot_colormap.f90 | Colormap functionality for contour plots Provides color interpolation for different colormaps like matplotlib |
| fortplot_colors | fortplot_colors.f90 | Color parsing and management for matplotlib-compatible color syntax |
| fortplot_constants | fortplot_constants.f90 | Numerical and physical constants for the fortplot library |
| fortplot_context | fortplot_context.f90 | Abstract base class for plotting backends |
| fortplot_contour_algorithms | fortplot_contour_algorithms.f90 | Contour plotting algorithms module |
| fortplot_contour_level_calculation | fortplot_contour_level_calculation.f90 | Default contour level generation compatible with matplotlib MaxNLocator |
| fortplot_contour_regions | fortplot_contour_regions.f90 | Contour polygon decomposition for extracting filled regions |
| fortplot_contour_rendering | fortplot_contour_rendering.f90 | Contour plot rendering module |
| fortplot_contour_tracing | fortplot_contour_tracing.f90 | Contour tracing and segment chaining module |
| fortplot_coordinate_validation | fortplot_coordinate_validation.f90 | Input validation for coordinate arrays and edge case handling |
| fortplot_datetime | fortplot_datetime.f90 | Minimal datetime utilities for date/time axes. |
| fortplot_directory_listing | fortplot_directory_listing.f90 | |
| fortplot_doc_constants | fortplot_doc_constants.f90 | Constants for documentation generation. |
| fortplot_doc_output | fortplot_doc_output.f90 | Output generation for documentation markdown files. |
| fortplot_doc_processing | fortplot_doc_processing.f90 | Example processing logic for documentation generation. |
| fortplot_doc_utils | fortplot_doc_utils.f90 | |
| fortplot_documentation | fortplot_documentation.f90 | Consolidated documentation generation facade. |
| fortplot_errorbar_plots | fortplot_errorbar_plots.f90 | Error bar plot operations module |
| fortplot_errorbar_rendering | fortplot_errorbar_rendering.f90 | Errorbar rendering module |
| fortplot_errors | fortplot_errors.f90 | Error handling module for fortplot library Provides centralized error management with status codes and messages |
| fortplot_figure | fortplot_figure.f90 | Main plotting interface - compatibility wrapper for refactored modules |
| fortplot_figure_accessors | fortplot_figure_accessors.f90 | Accessor functions for figure_t |
| fortplot_figure_animation | fortplot_figure_animation.f90 | Figure animation support functionality Extracted from fortplot_figure_core.f90 for size reduction (SRP compliance) |
| fortplot_figure_aspect | fortplot_figure_aspect.f90 | Helper routines for enforcing axis aspect ratios in figures |
| fortplot_figure_boxplot | fortplot_figure_boxplot.f90 | Box plot implementation module |
| fortplot_figure_colorbar | fortplot_figure_colorbar.f90 | Stateful colorbar rendering (matplotlib-style). |
| fortplot_figure_configuration | fortplot_figure_configuration.f90 | Figure configuration module |
| fortplot_figure_core | fortplot_figure_core_main.f90 | Fortran requires all |
| fortplot_figure_core_datetime | fortplot_figure_core_datetime.f90 | |
| fortplot_figure_core_fill_between | fortplot_figure_core_fill_between.f90 | |
| fortplot_figure_core_impl_layout | fortplot_figure_core_impl_layout.f90 | Layout and axis operations implementations |
| fortplot_figure_core_impl_state | fortplot_figure_core_impl_state.f90 | State management and configuration implementations |
| fortplot_figure_core_pie | fortplot_figure_core_pie.f90 | |
| fortplot_figure_core_specialized | fortplot_figure_core_specialized.f90 | |
| fortplot_figure_core_ticks | fortplot_figure_core_ticks.f90 | Custom tick label operations for figure_t |
| fortplot_figure_core_impl_plots | fortplot_figure_core_impl_plots.f90 | Plot operations implementations |
| fortplot_figure_core_accessors | fortplot_figure_core_accessors.f90 | Property accessor methods extracted from fortplot_figure_core |
| fortplot_figure_core_advanced | fortplot_figure_core_advanced.f90 | Advanced plotting operations extracted from fortplot_figure_core |
| fortplot_figure_core_config | fortplot_figure_core_config.f90 | Figure configuration operations module |
| fortplot_figure_core_io | fortplot_figure_core_io.f90 | Figure I/O and rendering operations module |
| fortplot_figure_core_io_figure | fortplot_figure_core_io_figure.f90 | Figure-suffixed public API module |
| fortplot_figure_core_operations | fortplot_figure_core_operations.f90 | Core operations implementations extracted from fortplot_figure_core |
| fortplot_figure_core_ranges | fortplot_figure_core_ranges.f90 | Figure data range management module |
| fortplot_figure_core_utils | fortplot_figure_core_utils.f90 | Utility operations extracted from fortplot_figure_core |
| fortplot_figure_data_ranges | fortplot_figure_data_ranges.f90 | |
| fortplot_figure_data_ranges_specialized | fortplot_figure_data_ranges_specialized.f90 | Specialized plot-type range processors Extracted from fortplot_figure_data_ranges for size compliance (refs #1694) |
| fortplot_figure_grid | fortplot_figure_grid.f90 | Figure grid functionality module |
| fortplot_figure_grid_plot_registration | fortplot_figure_grid_plot_registration.f90 | Grid-based plot data registration (contour, surface, pcolormesh) Extracted from fortplot_figure_plot_management for size compliance (refs #1694) |
| fortplot_figure_histogram | fortplot_figure_histogram.f90 | Figure histogram functionality module |
| fortplot_figure_initialization | fortplot_figure_initialization.f90 | Figure initialization module |
| fortplot_figure_io | fortplot_figure_io.f90 | File I/O operations for figure backends Contains save operations for PNG, PDF, SVG, and ASCII formats |
| fortplot_figure_legend_setup | fortplot_figure_legend_setup.f90 | Figure legend setup module Extracted from fortplot_figure_plot_management for size compliance (refs #1694) |
| fortplot_figure_management | fortplot_figure_management.f90 | Figure lifecycle management module for fortplot_figure_core |
| fortplot_figure_operations | fortplot_figure_operations.f90 | Figure core operations module for fortplot_figure_core |
| fortplot_figure_pie | fortplot_figure_pie.f90 | Pie chart creation functionality for figure_t |
| fortplot_figure_plot_dispatch | fortplot_figure_plot_dispatch.f90 | Plot rendering dispatch module |
| fortplot_figure_plot_management | fortplot_figure_plot_management.f90 | Figure plot data management module |
| fortplot_figure_plot_renderers | fortplot_figure_plot_renderers.f90 | Individual plot type rendering procedures |
| fortplot_figure_plots | fortplot_figure_plots.f90 | Plot creation methods for figure_t |
| fortplot_figure_properties | fortplot_figure_properties.f90 | Figure property management module for fortplot_figure_core |
| fortplot_figure_quiver | fortplot_figure_quiver.f90 | Quiver plot (discrete vector arrows) functionality module |
| fortplot_figure_ranges | fortplot_figure_ranges.f90 | Figure data range management functionality Extracted from fortplot_figure_core.f90 for size reduction (SRP compliance) |
| fortplot_figure_reflines | fortplot_figure_reflines.f90 | Reference line operations for figures |
| fortplot_figure_render_engine | fortplot_figure_render_engine.f90 | Shared rendering engine for figure outputs. |
| fortplot_figure_render_steps | fortplot_figure_render_steps.f90 | Rendering step procedures extracted from fortplot_figure_render_engine for size compliance (refs #1694) |
| fortplot_figure_rendering_pipeline | fortplot_figure_rendering_pipeline.f90 | Figure rendering pipeline module |
| fortplot_figure_scatter | fortplot_figure_scatter.f90 | Scatter plot implementation module |
| fortplot_figure_streamlines | fortplot_figure_streamlines.f90 | Figure streamline functionality module |
| fortplot_figure_subplots | fortplot_figure_subplots.f90 | Subplot management functionality for figure_t |
| fortplot_figure_utilities | fortplot_figure_utilities.f90 | Utility functions for figure operations |
| fortplot_file_operations | fortplot_file_operations.f90 | |
| fortplot_format_parser | fortplot_format_parser.f90 | |
| fortplot_global | fortplot_global.f90 | Global figure instance management for fortplot Provides access to the shared global figure used by pyplot-style functions |
| fortplot_imagemagick | fortplot_imagemagick.f90 | |
| fortplot_interpolation | fortplot_interpolation.f90 | Shared interpolation utilities for contour plotting |
| fortplot_label_positioning | fortplot_label_positioning.f90 | Separate positioning for tick labels vs axis labels Follows matplotlib exact spacing measurements |
| fortplot_latex_parser | fortplot_latex_parser.f90 | LaTeX command parser for Greek letters and mathematical symbols |
| fortplot_layout | fortplot_layout.f90 | Layout and margin calculations for plotting backends |
| fortplot_legend | fortplot_legend.f90 | Legend module following SOLID principles |
| fortplot_legend_drawing | fortplot_legend_drawing.f90 | Legend drawing and rendering procedures |
| fortplot_legend_layout | fortplot_legend_layout.f90 | Shared legend layout calculations following DRY principle |
| fortplot_legend_state | fortplot_legend_state.f90 | Legend state and factory functions |
| fortplot_line_rendering | fortplot_line_rendering.f90 | Line plot rendering module |
| fortplot_line_styles | fortplot_line_styles.f90 | Line pattern and style rendering algorithms |
| fortplot_logging | fortplot_logging.f90 | Simple logging facility for fortplot library Allows control over console output verbosity and warning suppression |
| fortplot_margins | fortplot_margins.f90 | Common margin and axis functionality for plotting backends |
| fortplot_marker_rendering | fortplot_marker_rendering.f90 | Marker rendering module |
| fortplot_markers | fortplot_markers.f90 | Shared marker utilities following DRY principles Eliminates code duplication between PNG and PDF backends |
| fortplot_mathtext | fortplot_mathtext.f90 | Mathematical text rendering with superscripts and subscripts Supports matplotlib-like syntax: x^2, y_i, x_{text}, y^{superscript} |
| fortplot_matplotlib | fortplot_matplotlib.f90 | Matplotlib-compatible API wrapper for fortplot Main facade module that re-exports all matplotlib-style functions |
| fortplot_matplotlib_advanced | fortplot_matplotlib_advanced.f90 | Slim matplotlib-compatible facade that aggregates specialised wrappers |
| fortplot_matplotlib_axes | fortplot_matplotlib_axes.f90 | Axes, scale, and labelling helpers for the matplotlib facade |
| fortplot_matplotlib_color_utils | fortplot_matplotlib_color_utils.f90 | Shared helpers for resolving matplotlib-style color kwargs. |
| fortplot_matplotlib_colorbar | fortplot_matplotlib_colorbar.f90 | Matplotlib-style stateful colorbar wrapper. |
| fortplot_matplotlib_errorbar | fortplot_matplotlib_errorbar.f90 | Errorbar plot wrappers (matplotlib-compatible). |
| fortplot_matplotlib_field_wrappers | fortplot_matplotlib_field_wrappers.f90 | Contour visualisation wrappers for matplotlib facade |
| fortplot_matplotlib_hist_wrappers | fortplot_matplotlib_hist_wrappers.f90 | Matplotlib-style hist/histogram wrappers split out from fortplot_matplotlib_plot_wrappers to keep each source file under the 1000-line hard limit. |
| fortplot_matplotlib_mesh_wrappers | fortplot_matplotlib_mesh_wrappers.f90 | Pcolormesh and surface visualisation wrappers for matplotlib facade |
| fortplot_matplotlib_plot_wrappers | fortplot_matplotlib_plot_wrappers.f90 | Matplotlib-style plot creation wrappers built on top of fortplot figures. |
| fortplot_matplotlib_plots | fortplot_matplotlib_plots.f90 | Matplotlib-compatible plot functions for imshow/pie/polar/step/stem/fill. |
| fortplot_matplotlib_scatter | fortplot_matplotlib_scatter.f90 | Scatter plot wrappers (matplotlib-compatible). |
| fortplot_matplotlib_scatter_dispatch | fortplot_matplotlib_scatter_dispatch.f90 | Internal dispatch layer for matplotlib-compatible scatter plots. |
| fortplot_matplotlib_scatter_utils | fortplot_matplotlib_scatter_utils.f90 | Utility functions for matplotlib-compatible scatter plots. |
| fortplot_matplotlib_session | fortplot_matplotlib_session.f90 | Global figure session helpers shared across matplotlib-compatible wrappers |
| fortplot_matplotlib_vector_wrappers | fortplot_matplotlib_vector_wrappers.f90 | Streamplot and quiver visualisation wrappers for matplotlib facade |
| fortplot_mesh_rendering | fortplot_mesh_rendering.f90 | Mesh (pcolormesh) rendering module |
| fortplot_os_detection | fortplot_os_detection.f90 | Operating system detection and lightweight environment helpers. |
| fortplot_parameter_validation | fortplot_parameter_validation.f90 | |
| fortplot_path_operations | fortplot_path_operations.f90 | Path manipulation and normalization utilities |
| fortplot_pcolormesh | fortplot_pcolormesh.f90 | Pcolormesh (pseudocolor mesh) plotting functionality |
| fortplot_pdf | fortplot_pdf.f90 | PDF backend main interface (unified coordinates using plot area) |
| fortplot_pdf_axes_io | fortplot_pdf_axes_io.f90 | PDF axes rendering, data extraction, and file I/O |
| fortplot_pdf_canvas | fortplot_pdf_canvas.f90 | PDF canvas creation and coordinate management |
| fortplot_pdf_draw | fortplot_pdf_draw.f90 | PDF drawing, text rendering, fill operations, and markers |
| fortplot_pdf_axes | fortplot_pdf_axes.f90 | PDF axes, grid, tick drawing, and plot frame operations |
| fortplot_pdf_axes_drawing | fortplot_pdf_axes_drawing.f90 | PDF axis drawing module |
| fortplot_pdf_axes_text | fortplot_pdf_axes_text.f90 | PDF axis text rendering module |
| fortplot_pdf_axes_tick_data | fortplot_pdf_axes_tick_data.f90 | PDF axis tick data generation module |
| fortplot_pdf_coordinate | fortplot_pdf_coordinate.f90 | PDF coordinate transformation and polymorphic method support Handles coordinate normalization and backend-specific method implementations |
| fortplot_pdf_core | fortplot_pdf_core.f90 | Core PDF types and basic operations Provides fundamental PDF context and stream management |
| fortplot_pdf_drawing | fortplot_pdf_drawing.f90 | PDF-specific drawing utility functions |
| fortplot_pdf_io | fortplot_pdf_io.f90 | PDF file I/O operations Handles PDF document structure, writing, and file management |
| fortplot_pdf_markers | fortplot_pdf_markers.f90 | PDF marker and graphics state operations Handles marker drawing, color management, and graphics state operations |
| fortplot_pdf_mathtext_render | fortplot_pdf_mathtext_render.f90 | PDF mathtext rendering utilities |
| fortplot_pdf_objects | fortplot_pdf_objects.f90 | PDF object writers for document structure elements |
| fortplot_pdf_secondary_axes | fortplot_pdf_secondary_axes.f90 | PDF secondary axes rendering for twin axes support Handles drawing of secondary Y-axis (right side) and X-axis (top) |
| fortplot_pdf_stream | fortplot_pdf_stream.f90 | Low-level PDF stream writing utilities |
| fortplot_pdf_text_escape | fortplot_pdf_text_escape.f90 | PDF text escaping and symbol mapping utilities |
| fortplot_pdf_text_metrics | fortplot_pdf_text_metrics.f90 | PDF text measurement helpers |
| fortplot_pdf_text_render | fortplot_pdf_text_render.f90 | High level PDF text drawing routines |
| fortplot_pdf_text_segments | fortplot_pdf_text_segments.f90 | Mixed-font PDF text segmentation helpers |
| fortplot_pie_rendering | fortplot_pie_rendering.f90 | Pie chart rendering helpers for polygon backends |
| fortplot_pipe | fortplot_pipe.f90 | |
| fortplot_plot_annotations | fortplot_plot_annotations.f90 | Plot annotation operations module |
| fortplot_plot_bars | fortplot_plot_bars.f90 | Bar chart plotting functionality |
| fortplot_plot_contours | fortplot_plot_contours.f90 | Contour and pcolormesh plotting functionality |
| fortplot_plot_data | fortplot_plot_data.f90 | Core plot data structures - extracted from fortplot_figure_core |
| fortplot_plot_statistics | fortplot_plot_statistics.f90 | Statistical plotting functionality |
| fortplot_plotting_advanced | fortplot_plotting_advanced.f90 | Advanced plotting methods (contour, bar, histogram, boxplot, streamplot) |
| fortplot_png | fortplot_png.f90 | |
| fortplot_png_encoder | fortplot_png_encoder.f90 | |
| fortplot_png_validation | fortplot_png_validation.f90 | PNG file validation using internal format checks. |
| fortplot_polar | fortplot_polar.f90 | Polar coordinate transformation and utilities |
| fortplot_polar_rendering | fortplot_polar_rendering.f90 | Polar projection rendering for polygon backends |
| fortplot_polar_rendering_helpers | fortplot_polar_rendering_helpers.f90 | Polar rendering helper procedures |
| fortplot_projection | fortplot_projection.f90 | 3D to 2D projection module for rendering 3D plots in 2D backends |
| fortplot_raster | fortplot_raster.f90 | Main raster plotting context - type definition and constructor only. All bound method implementations are in submodules: fortplot_raster_impl - drawing methods (line, arrow, marker, quad) fortplot_raster_text_impl - text rendering methods (text, bbox, rotated) |
| fortplot_raster_context_impl | fortplot_raster_context_impl.f90 | Context wrapper implementations for raster_context. Contains: save_dummy, fill_quad, fill_heatmap, legend, rgb/png, 3d, ylabel, axes, axes_lines, axis_labels, coordinates, render_axes. |
| fortplot_raster_impl | fortplot_raster_impl.f90 | Implementation of drawing primitives for raster_context. Contains: line, color, line_width, line_style, marker, arrow. |
| fortplot_raster_text_impl | fortplot_raster_text_impl.f90 | Implementation of text rendering methods for raster_context. Contains: text, text_styled, text_with_bbox, rotated_text_with_bbox. |
| fortplot_raster_axes | fortplot_raster_axes.f90 | Raster axes coordination module (refactored for size compliance) Orchestrates tick and label rendering through specialized modules |
| fortplot_raster_axes_custom | fortplot_raster_axes_custom.f90 | Custom tick label and axis label wrapper procedures for raster backend Extracted from fortplot_raster_axes to maintain file size compliance |
| fortplot_raster_axes_secondary | fortplot_raster_axes_secondary.f90 | Secondary axis and helper functions for raster backend Extracted from fortplot_raster_axes for size compliance (refs #1694) |
| fortplot_raster_core | fortplot_raster_core.f90 | Core raster image management and basic operations Extracted from fortplot_raster.f90 for size reduction (SRP compliance) |
| fortplot_raster_drawing | fortplot_raster_drawing.f90 | Main raster drawing module that provides unified interface to drawing subsystems |
| fortplot_raster_labels | fortplot_raster_labels.f90 | Raster axis labels (title, xlabel, ylabel) rendering functionality Extracted from fortplot_raster_axes.f90 for single responsibility principle |
| fortplot_raster_line_styles | fortplot_raster_line_styles.f90 | Module for handling line styling in raster images |
| fortplot_raster_markers | fortplot_raster_markers.f90 | Raster marker drawing functions |
| fortplot_raster_primitives | fortplot_raster_primitives.f90 | Basic raster drawing primitives and utilities |
| fortplot_raster_rendering | fortplot_raster_rendering.f90 | Specialized rendering functionality for raster backend Extracted from fortplot_raster.f90 for size reduction (SRP compliance) |
| fortplot_raster_text_rendering | fortplot_raster_text_rendering.f90 | Raster-specific text rendering primitives (glyph rasterization, mathtext drawing) |
| fortplot_raster_ticks | fortplot_raster_ticks.f90 | Raster tick marks and tick labels rendering functionality (primary axes) Extracted from fortplot_raster_axes.f90 for single responsibility principle |
| fortplot_raster_ticks_secondary | fortplot_raster_ticks_secondary.f90 | Secondary axis ticks (right/top) and minor ticks for raster backend Extracted from fortplot_raster_ticks for size compliance (refs #1694) |
| fortplot_rendering | fortplot_rendering.f90 | Figure rendering pipeline orchestrator module |
| fortplot_scales | fortplot_scales.f90 | Scale transformation module for coordinate system transformations |
| fortplot_scatter_plots | fortplot_scatter_plots.f90 | Scatter plot operations module |
| fortplot_spec_builder | fortplot_spec_builder.f90 | Builder API for constructing spec_t from data arrays. |
| fortplot_spec_config_apply | fortplot_spec_config_apply.f90 | Applies config_t values to figure_state_t for rendering. |
| fortplot_spec_config_axes | fortplot_spec_config_axes.f90 | Parse Vega-Lite config axis, view, and mark defaults sub-objects. |
| fortplot_spec_config_defaults | fortplot_spec_config_defaults.f90 | Built-in style presets for MPL and Vega-Lite rendering modes. |
| fortplot_spec_config_json | fortplot_spec_config_json.f90 | JSON serialization for config_t and padding_t. |
| fortplot_spec_config_parse | fortplot_spec_config_parse.f90 | JSON parser for the Vega-Lite config block and related top-level properties (padding, autosize). |
| fortplot_spec_config_styling | fortplot_spec_config_styling.f90 | Parse Vega-Lite config title, legend, range (color palette), and color-array helpers. |
| fortplot_spec_config_types | fortplot_spec_config_types.f90 | Vega-Lite config types for style theming. |
| fortplot_spec_field_rendering | fortplot_spec_field_rendering.f90 | Field plot rendering (contour, contour_filled, pcolormesh, streamplot). |
| fortplot_spec_frontend_adapters | fortplot_spec_frontend_adapters.f90 | Convert figure_t into a proper spec_t with marks, encodings, data columns, and config -- no scene_t wrapper. |
| fortplot_spec_json | fortplot_spec_json.f90 | JSON serialization for spec_t -> Vega-Lite JSON Produces valid Vega-Lite v5 JSON from Fortran spec_t types. Row-oriented output: data.values is an array of objects. |
| fortplot_spec_json_channels | fortplot_spec_json_channels.f90 | JSON channel, scale, domain, and axis parsing. |
| fortplot_spec_json_data | fortplot_spec_json_data.f90 | JSON data parsing: values arrays, row parsing, field scanning. |
| fortplot_spec_json_field_plot | fortplot_spec_json_field_plot.f90 | JSON serialization helpers for field_plot_t |
| fortplot_spec_json_parse | fortplot_spec_json_parse.f90 | JSON deserializer: Vega-Lite JSON string -> spec_t |
| fortplot_spec_json_reader | fortplot_spec_json_reader.f90 | Low-level JSON token readers and I/O utilities. |
| fortplot_spec_mark_handlers | fortplot_spec_mark_handlers.f90 | Mark-type handlers for spec_t rendering. |
| fortplot_spec_rendering | fortplot_spec_rendering.f90 | Native render path for spec_t values. |
| fortplot_spec_rendering_utils | fortplot_spec_rendering_utils.f90 | Shared utilities for spec rendering modules. |
| fortplot_spec_types | fortplot_spec_types.f90 | Vega-Lite-shaped specification types for fortplot |
| fortplot_spy_backend | fortplot_spy_backend.f90 | |
| fortplot_streamline_integrator | fortplot_streamline_integrator.f90 | DOPRI5 (Dormand-Prince 5(4)) integrator for streamline computation Provides adaptive step size control and high-order accuracy |
| fortplot_streamline_placement | fortplot_streamline_placement.f90 | Streamline placement algorithms for matplotlib compatibility |
| fortplot_streamplot_arrow_utils | fortplot_streamplot_arrow_utils.f90 | Shared utilities for streamplot arrow placement |
| fortplot_streamplot_core | fortplot_streamplot_core.f90 | Streamplot implementation broken down for size compliance |
| fortplot_streamplot_matplotlib | fortplot_streamplot_matplotlib.f90 | Matplotlib-inspired streamplot implementation. |
| fortplot_string_utils | fortplot_string_utils.f90 | Core string utilities with minimal dependencies |
| fortplot_subplot_layout | fortplot_subplot_layout.f90 | |
| fortplot_subplot_rendering | fortplot_subplot_rendering.f90 | |
| fortplot_surface_rendering | fortplot_surface_rendering.f90 | Surface rendering module for 3D surface plots |
| fortplot_svg | fortplot_svg.f90 | SVG backend main interface |
| fortplot_svg_axes | fortplot_svg_axes.f90 | Standalone SVG axes and label rendering |
| fortplot_svg_draw | fortplot_svg_draw.f90 | Standalone SVG drawing primitives: line, arrow, quad, heatmap, file I/O |
| fortplot_svg_legend | fortplot_svg_legend.f90 | Standalone SVG legend rendering and layout |
| fortplot_svg_markers | fortplot_svg_markers.f90 | Standalone SVG marker element generation |
| fortplot_system_commands | fortplot_system_commands.f90 | |
| fortplot_system_runtime | fortplot_system_runtime.f90 | Runtime OS detection and cross-platform system operations orchestrator |
| fortplot_system_viewer | fortplot_system_viewer.f90 | System viewer launching for show() functionality Handles platform-specific viewer launching and graphical session detection |
| fortplot_test_helpers | fortplot_test_helpers.f90 | Shared test file utilities. |
| fortplot_test_output_helpers | fortplot_test_output_helpers.f90 | Utilities for directing test artifact output into structured directories |
| fortplot_test_pdf_tokenizer | fortplot_test_pdf_tokenizer.f90 | PDF stream tokenizer utilities for testing |
| fortplot_test_pdf_utils | fortplot_test_pdf_utils.f90 | PDF stream extraction utilities for testing |
| fortplot_testing | fortplot_testing.f90 | Testing utilities module with proper error handling |
| fortplot_text | fortplot_text.f90 | Main text module that provides backend-agnostic font and layout services |
| fortplot_text_fonts | fortplot_text_fonts.f90 | |
| fortplot_text_helpers | fortplot_text_helpers.f90 | Small helpers for preparing text for backends |
| fortplot_text_layout | fortplot_text_layout.f90 | Shared text layout utilities (width/height calculations, mathtext helpers) |
| fortplot_text_rendering | fortplot_text_rendering.f90 | Thin facade module that re-exports shared layout utilities and raster hooks |
| fortplot_text_stub | fortplot_text_stub.f90 | Text and annotation functions implementation Provides pyplot-style text() and annotate() functions that integrate with the global figure and annotation system |
| fortplot_tick_calculation | fortplot_tick_calculation.f90 | Core tick calculation algorithms for linear scales |
| fortplot_tick_formatting | fortplot_tick_formatting.f90 | Tick value formatting functions with multiple strategies |
| fortplot_tick_scales | fortplot_tick_scales.f90 | Specialized tick generation for logarithmic and symmetric logarithmic scales |
| fortplot_ticks | fortplot_ticks.f90 | Tick generation and formatting for all scale types |
| fortplot_truetype | fortplot_truetype.f90 | Pure Fortran TrueType font parser and rasterizer. Based on stb_truetype.h v1.26 by Sean Barrett. Original C implementation rewritten in Fortran for the fortplot project. |
| fortplot_tt_binary | fortplot_tt_binary.f90 | Big-endian binary readers for TrueType font parsing. Fortran equivalents of stb_truetype.h macros: ttBYTE, ttUSHORT, ttSHORT, ttULONG. All offsets are 0-based to match the TTF specification directly. |
| fortplot_tt_cmap | fortplot_tt_cmap.f90 | TrueType cmap (character map) table parser. Maps Unicode codepoints to glyph indices, supporting formats 0, 4, 6, 12, and 13. |
| fortplot_tt_curves | fortplot_tt_curves.f90 | TrueType glyph outline curve tessellation. Converts quadratic/cubic Bezier curves from glyph outlines into flat line segments suitable for rasterization. Fortran port of stbtt_FlattenCurves and related functions from stb_truetype.h lines 3547-3693. |
| fortplot_tt_edge_sort | fortplot_tt_edge_sort.f90 | TrueType edge sorting utilities. Sorts glyph outline edges by y0 for scanline rasterization. |
| fortplot_tt_metrics | fortplot_tt_metrics.f90 | TrueType font metrics: scale factors, vertical/horizontal metrics, glyph offsets, and bounding boxes. Pure Fortran implementations operating directly on the font byte array via fortplot_tt_binary. |
| fortplot_tt_outlines | fortplot_tt_outlines.f90 | TrueType glyph outline extraction. Parses the glyf table to extract vertex data (moves, lines, quadratic bezier curves) for simple and composite glyphs. Fortran port of stbtt__GetGlyphShapeTT from stb_truetype.h lines 1658-1895. |
| fortplot_tt_rasterizer | fortplot_tt_rasterizer.f90 | TrueType scanline rasterizer (v2 analytical antialiasing). Converts tessellated glyph outlines into 8-bit grayscale bitmaps. Fortran port of the STB v2 rasterizer from stb_truetype.h. |
| fortplot_tt_scanline_fill | fortplot_tt_scanline_fill.f90 | Scanline coverage helpers for the TrueType analytical antialias rasterizer. Split from fortplot_tt_rasterizer to keep that module under the size limit. |
| fortplot_tt_tables | fortplot_tt_tables.f90 | TrueType table lookup and font initialization. Validates font signatures, finds tables in the table directory, and initializes a font by locating all required tables and the cmap encoding. |
| fortplot_twin_axes_rendering | fortplot_twin_axes_rendering.f90 | Twin axes label rendering for raster, PDF, and ASCII backends Extracted from fortplot_figure_rendering_pipeline for size compliance (Issue #1747) |
| fortplot_unicode | fortplot_unicode.f90 | |
| fortplot_utils | fortplot_utils.f90 | Utility functions module for common operations |
| fortplot_utils_sort | fortplot_utils_sort.f90 | Sorting utilities for fortplot |
| fortplot_validation | fortplot_validation.f90 | |
| fortplot_validation_context | fortplot_validation_context.f90 | |
| fortplot_validation_core | fortplot_validation_core.f90 | |
| fortplot_vector | fortplot_vector.f90 | Shared vector graphics functionality for backends like PDF, SVG, etc. Extracted from PDF backend to provide reusable vector drawing primitives |
| fortplot_vector_plot_helpers | fortplot_vector_plot_helpers.f90 | Vector plot (quiver, streamplot, refline) rendering helpers |
| fortplot_windows_test_helper | fortplot_windows_test_helper.f90 | Windows-specific test helpers for CI compatibility Issue #300: Windows CI environment compatibility |
| fortplot_zlib_checksums | fortplot_zlib_checksums.f90 | CRC32 and Adler-32 checksum calculations for zlib. |
| fortplot_zlib_compress | fortplot_zlib_compress.f90 | Deflate compression, CRC32, and Adler-32 checksum implementation Extracted from fortplot_zlib_core for size compliance (Issue #1747) |
| fortplot_zlib_core | fortplot_zlib_core.f90 | Re-export facade for zlib compress and decompress modules. |
| fortplot_zlib_decompress | fortplot_zlib_decompress.f90 | Pure Fortran implementation of zlib decompression and CRC32. |