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.10.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.10-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nmfspalettepy-0.1.10.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.10.tar.gz
Algorithm Hash digest
SHA256 828c8f0e6001e10eb589bd8e8234dba988bdc7cdd908c553f651087f11e7ea4f
MD5 8b1978fcc572cb760919a9438db80d1c
BLAKE2b-256 912706bdfc67188245945f1f593a5f6baecf3cfdb47672612569f3e7011638db

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nmfspalettepy-0.1.10-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.10-py3-none-any.whl
Algorithm Hash digest
SHA256 c64f5ed9145272dd6d2063bc62af7552b46693fb6b9d736ab3b4c9deeffcb9a3
MD5 d66ae94ce7167a5a17b07aef43643d3b
BLAKE2b-256 60f4f2ecd7a64e74c1949a62f0ba3c0efb51b1fcc565fd09168623c9507fe1b9

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