Skip to main content

NMFS color palettes handling library

Project description

nmfspalettepy

logo

nmfspalettepy is a Python library designed to facilitate the use of National Marine Fisheries Service (NMFS) color palettes for data visualization. It provides easy access to a series of NMFS color schemes.

Source Code:

Features

  • Provides a set of predefined color palettes using the NMFS color palettes.
  • Functions to display and utilize these palettes in visualizations.
  • Easy integration with matplotlib for creating custom color maps.

Installation

To Install via pip

To install nmfspalettepy, you can use pip. Simply run the following command:

pip install nmfspalettepy

Usage

Listing Available Color Palettes

To see a list of all available color palettes you can use with nmfspalettepy, simply call the list_nmfs_palettes function:

import nmfspalettepy
print(nmfspalettepy.list_nmfs_palettes())

output

['oceans', 'waves', 'seagrass', 'urchin', 'crustacean', 'coral']

Display a Color Gradient

To display a color gradient using one of the available NMFS color palettes, you can use the display_color_gradient function. Here's an example using the "oceans" palette:

from nmfspalettepy import display_color_gradient, get_palette_colors

# Display the 'oceans' palette gradient
display_color_gradient(get_palette_colors("oceans"))

Creating a Custom Color Map

import matplotlib.pyplot as plt
from nmfspalettepy import create_nmfs_colormap

# Create a custom colormap
cmap = create_nmfs_colormap("coral")

# Use the colormap in a plot
plt.imshow([[1,2],[2,3]], cmap=cmap)
plt.colorbar()
plt.show()

Getting Hex Codes for a Palette

from nmfspalettepy import get_palette_colors

# Get hex codes for the 'waves' palette
colors_hex = get_palette_colors("waves")
print("Hex codes for 'waves':", colors_hex)

output

Hex codes for 'waves': ['#005E5E', '#00797F', '#1EBEC7', '#90DFE3']

Examples

Plot

# example data| import seaborn as sns
from plotnine.data import penguins
p = (
    ggplot(penguins_clean, aes(x='flipper_length_mm', y='body_mass_g', color='species')) +
    geom_point(size=4) +
    labs(y="Body Mass (g)", x="Flipper Length (mm)") +
    theme_bw() +
    scale_color_manual(values=nmfs_palettes["urchin"])  # Use 'urchin' palette
)

# Show the plot
p.show()

Boxplot

def show_boxplot(data, x_var, y_var, hue_var, palette_name):
    palette = nmfs_palettes.get(palette_name, ["#555555"])  # Default grey if not found
    plt.figure(figsize=(10, 6))
    sns.boxplot(x=x_var, y=y_var, hue=hue_var, palette=palette, data=data)
    sns.despine(offset=10, trim=True)
    plt.show()

LinePlot

def show_lineplot(data, x_var, y_var, hue_var, palette_name):
    palette = nmfs_palettes.get(palette_name, ["#555555"])  # Default grey if not found
    plt.figure(figsize=(10, 6))
    sns.lineplot(x=x_var, y=y_var, hue=hue_var, palette=palette, data=data)
    plt.title(f"{y_var.capitalize()} over {x_var.capitalize()} by {hue_var.capitalize()}")
    plt.grid(True)
    sns.despine(offset=10, trim=True)
    plt.show()

Disclaimer

This repository is a scientific product and is not official communication of the National Oceanic and Atmospheric Administration, or the United States Department of Commerce. All NOAA GitHub project content is provided on an ‘as is’ basis and the user assumes responsibility for its use. Any claims against the Department of Commerce or Department of Commerce bureaus stemming from the use of this GitHub project will be governed by all applicable Federal law. Any reference to specific commercial products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation or favoring by the Department of Commerce. The Department of Commerce seal and logo, or the seal and logo of a DOC bureau, shall not be used in any manner to imply endorsement of any commercial product or activity by DOC or the United States Government.

License

See the LICENSE.md for details

Credits

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nmfspalettepy-0.1.11.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nmfspalettepy-0.1.11-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file nmfspalettepy-0.1.11.tar.gz.

File metadata

  • Download URL: nmfspalettepy-0.1.11.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for nmfspalettepy-0.1.11.tar.gz
Algorithm Hash digest
SHA256 4a831672652def61af0cb9d2cc0194d7346028c25e031300bc3738a8d711184f
MD5 658b63a7b84f52031d66673241dce6d8
BLAKE2b-256 5b58b79eec3198945cc89095ffd9a2c031a27c283626f720eeede2aa8b442ecd

See more details on using hashes here.

File details

Details for the file nmfspalettepy-0.1.11-py3-none-any.whl.

File metadata

  • Download URL: nmfspalettepy-0.1.11-py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for nmfspalettepy-0.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 93e58f645672cb41271a1810d39c72ae0df59c167a6462a0a2a6892ec5f83258
MD5 80f3666543eb04468ecc25e93de0ee27
BLAKE2b-256 c7d2962b9585671c6ee34778ff3fd3b15dcca8f949d8017f7ce974f11a37dcd7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page