NAME

PGPLOTx::Constants - Constants for use with PGPLOT

VERSION

version 0.02

SYNOPSIS

# import GREEN
use PGPLOTx::Constants 'GREEN';

# don't shout, import GREEN as green
use PGPLOTx::Constants 'GREEN' => { -as => 'green' } ;

# import all of the colors
use PGPLOTx::Constants -colors;

# import all of the colors, lower case 'em so your code doesn't shout
# but don't lower case the fots
use PGPLOTx::Constants -colors, { -as => 'lc' }, -fonts ;

# lower case everything that is imported
use PGPLOTx::Constants { as => 'lc' }, -colors, -fonts ;

# support for user interfaces
use PGPLOTx::Constants qw( list_constants coerce_constant )

if ( $color eq '-list' ) {
  say join "\n", list_constants( 'colors' );
  exit 0;
}

$color = coerce_constant( colors => $color );

DESCRIPTION

This module provides a number of constants for use with the PGPLOT plotting package.

Exporter::Tiny is used to provide the exported symbols, so its facilities can be used to customize the import experience, as shown in the "SYNOPSIS".

The constants can be imported individually, or as sets via associated tags.

The following sets are available:

Colors
BACKGROUND  CYAN          BLUE_MAGENTA
BLACK       MAGENTA       RED_MAGENTA
FOREGROUND  YELLOW        DARK_GRAY
WHITE       ORANGE        LIGHT_GRAY
RED         GREEN_YELLOW  DARKGRAY
GREEN       GREEN_CYAN    LIGHTGRAY
BLUE        BLUE_CYAN
  • The colors tag imports all of the above constants.

  • The COLORS subroutine returns a list of the constants' values.

  • The COLORS_NAMES subroutine returns a list of the constants' names.

Area Fill Styles
SOLID  FILLED  OUTLINE  HATCHED   CROSS_HATCHED
  • The area_fill_styles tag imports all of the above constants as subroutines.

  • The AREA_FILL_STYLES subroutine returns a list of the constants' values.

  • The AREA_FILL_STYLES_NAMES subroutine returns a list of the constants' names.

Arrowhead Fill Styles
SOLID  FILLED  OUTLINE
  • The arrowhead_fill_styles tag imports all of the above constants as subroutines.

  • The ARROWHEAD_FILL_STYLES subroutine returns a list of the constants' values.

  • The ARROWHEAD_FILL_STYLES_NAMES subroutine returns a list of the constants' names.

Fonts
NORMAL  ROMAN  ITALIC  SCRIPT
  • The fonts tag imports all of the above constants as subroutines.

  • The FONTS subroutine returns a list of the constants' values.

  • The FONTS_NAMES subroutine returns a list of the constants' names.

Line Styles
FULL  DASHED  DOT_DASH_DOT_DASH  DOTTED  DASH_DOT_DOT_DOT
  • The line_styles tag imports all of the above constants as subroutines.

  • The LINE_STYLES subroutine returns a list of the constants' values.

  • The LINE_STYLES_NAMES subroutine returns a list of the constants' names.

Plot Units
NORMALIZED_DEVICE_COORDINATES
NDC
INCHES
IN
MILLIMETERS
MM
PIXELS
WORLD_COORDINATES
WC
  • The plot_units tag imports all of the above constants as subroutines.

  • The PLOT_UNITS subroutine returns a list of the constants' values.

  • The PLOT_UNITS_NAMES subroutine returns a list of the constants' names.

Symbols
DOICOSAGON     HENDECAGON  DOT1          CURVESQUARE  OPENCIRC1
HENICOSAGON    DECAGON     OPENSQUARE    OPENDIAMOND  OPENCIRC2
ICOSAGON       NONAGON     DOT           OPENSTAR     OPENCIRC3
ENNEADECAGON   ENNEAGON    PLUS          TRIANGLE1    OPENCIRC4
OCTADECAGON    OCTAGON     ASTERISK      OPENPLUS     OPENCIRC5
HEPTADECAGON   HEPTAGON    OPENCIRCLE    STARDAVID    OPENCIRC6
HEXADECAGON    HEXAGON     CROSS         SQUARE       OPENCIRC7
PENTADECAGON   PENTAGON    OPENSQUARE1   CIRCLE       BACKARROW
TETRADECAGON   DIAMOND     OPENTRIANGLE  STAR         FWDARROW
TRIDECAGON     TRIANGLE    EARTH         BIGOSQUARE   UPARROW
DODECAGON      DOT0        SUN           OPENCIRC0    DOWNARROW
  • The symbols tag imports all of the above constants as subroutines.

  • The SYMBOLS subroutine returns a list of the constants' values.

  • The SYMBOLS_NAMES subroutine returns a list of the constants' names.

XAxis Options
XAXIS_OPT_A  XAXIS_OPT_G  XAXIS_OPT_N  XAXIS_OPT_S
XAXIS_OPT_B  XAXIS_OPT_I  XAXIS_OPT_P  XAXIS_OPT_T
XAXIS_OPT_C  XAXIS_OPT_L  XAXIS_OPT_M
  • The xaxis_options tag imports all of the above constants as subroutines.

  • The XAXIS_OPTIONS subroutine returns a list of the constants' values.

  • The XAXIS_OPTIONS_NAMES subroutine returns a list of the constants' names.

YAxis Options
YAXIS_OPT_A  YAXIS_OPT_G  YAXIS_OPT_N  YAXIS_OPT_S
YAXIS_OPT_B  YAXIS_OPT_I  YAXIS_OPT_P  YAXIS_OPT_T
YAXIS_OPT_C  YAXIS_OPT_L  YAXIS_OPT_M  YAXIS_OPT_V
  • The yaxis_options tag imports all of the above constants as subroutines.

  • The YAXIS_OPTIONS subroutine returns a list of the constants' values.

  • The YAXIS_OPTIONS_NAMES subroutine returns a list of the constants' names.

SUBROUTINES

coerce_constant

$value = coerce_constant( $tag, $name );

If $name is a recognized name or alias for constants associated with the tag $tag, return the constant's value, otherwise throw an exception.

Aliases include the lower-cased name, and names with underscores replaced with hyphens. For example, the following names are accepted for the color constant GREEN_YELLOW:

GREEN_YELLOW  GREEN-YELLOW
green_yellow  green-yellow

list_constants

@names = list_constants( $tag )

Return all names accepted by "coerce_constant" for the specified tag. Throws if $tag is not recognized.

INTERNALS

SUPPORT

Bugs

Please report any bugs or feature requests to bug-pgplotx-constants@rt.cpan.org or through the web interface at: https://rt.cpan.org/Public/Dist/Display.html?Name=PGPLOTx-Constants

Source

Source is available at

https://gitlab.com/djerius/pgplotx-constants

and may be cloned from

https://gitlab.com/djerius/pgplotx-constants.git

SEE ALSO

Please see those modules/websites for more information related to this module.

AUTHOR

Diab Jerius <djerius@cpan.org>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2026 by Smithsonian Astrophysical Observatory.

This is free software, licensed under:

The GNU General Public License, Version 3, June 2007