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

Uploaded Python 3

File details

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

File metadata

  • Download URL: nmfspalettepy-0.1.20.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.20.tar.gz
Algorithm Hash digest
SHA256 5766985e54ddd73f9b74a4f936d0acd3172a9f8b93a9d560dabf2e6c7d7587a5
MD5 e228b13adbe895b8e426b8da4a37d5d9
BLAKE2b-256 b25010bb6bcd91ab27ba64ea2167fe0c49f306022307694e4174e9921578b971

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nmfspalettepy-0.1.20-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.20-py3-none-any.whl
Algorithm Hash digest
SHA256 22eb2b42ba66d0194fa4c4f6b1d87165eb032a279ae08031095f2d1c89024aa5
MD5 b4289c0217ab1acc06694244ffa07f81
BLAKE2b-256 6de33767ec9c4e18e8c9fac1ed642d9a50f9b8dc49238e503dc72368197a6a33

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