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.17.tar.gz (4.7 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.17-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nmfspalettepy-0.1.17.tar.gz
  • Upload date:
  • Size: 4.7 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.17.tar.gz
Algorithm Hash digest
SHA256 9cfface952e979287ce90674cb8d1f22bd4a622891781a66aeeae44be6b0fff6
MD5 f64eeb9a0e692f6c88385681d310db2b
BLAKE2b-256 0e3906aae09377218c581f2bb3bb57f1e92b52a5f0d915fcebd0f30517624457

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nmfspalettepy-0.1.17-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.17-py3-none-any.whl
Algorithm Hash digest
SHA256 9d0fbbaf740b61c9244f0bbcc94d75382ec30bb91b74da0b74eae7ebcc75122c
MD5 510c6664c7a383b5bad9860f8512d8f3
BLAKE2b-256 123ba9d4889d067c6057a897d7cc7b54f0ab0eceb3cef54c950d629115c3e621

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