8000 Enh color names by tacaswell · Pull Request #7639 · matplotlib/matplotlib · GitHub
[go: up one dir, main page]

Skip to content

Enh color names #7639

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jan 16, 2017
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Adding names to the color in the new Vega10 color cycle
  • Loading branch information
trpham authored and tacaswell committed Jan 16, 2017
commit 44d71277fa3bf56ee4b3c8dee0c28e4ff90d7bc1
3 changes: 3 additions & 0 deletions doc/users/colors.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ it can be provided as:
* a name from the `xkcd color survey < 8000 https://xkcd.com/color/rgb/>`__
prefixed with ``'xkcd:'`` (e.g., ``'xkcd:sky blue'``)
* one of ``{'C0', 'C1', 'C2', 'C3', 'C4', 'C5', 'C6', 'C7', 'C8', 'C9'}``
* one of ``{'vega:blue', 'vega:orange', 'vega:green',
'vega:red', 'vega:purple', 'vega:brown', 'vega:pink',
'vega:gray', 'vega:olive', 'vega:cyan'}``

All string specifications of color are case-insensitive.

Expand Down
17 changes: 17 additions & 0 deletions lib/matplotlib/_color_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,23 @@
'w': (1, 1, 1)}


VEGA_COLORS = {
'blue': '#1f77b4',
'orange': '#ff7f0e',
'green': '#2ca02c',
'red': '#d62728',
'purple': '#9467bd',
'brown': '#8c564b',
'pink': '#e377c2',
'gray': '#7f7f7f',
'olive': '#bcbd22',
'cyan': '#17becf'}


# Normalize name to "vega10:<name>" to avoid name collisions.
VEGA_COLORS = {'vega:' + name: value for name, value in VEGA_COLORS.items()}


# This mapping of color names -> hex values is taken from
# a survey run by Randel Monroe see:
# http://blog.xkcd.com/2010/05/03/color-survey-results/
Expand Down
7 changes: 4 additions & 3 deletions lib/matplotlib/colors.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
import numpy as np
from numpy import ma
import matplotlib.cbook as cbook
from ._color_data import BASE_COLORS, CSS4_COLORS, XKCD_COLORS
from ._color_data import BASE_COLORS, VEGA_COLORS, CSS4_COLORS, XKCD_COLORS


class _ColorMapping(dict):
Expand All @@ -87,6 +87,7 @@ def __delitem__(self, key, value):
# Set by reverse priority order.
_colors_full_map.update(XKCD_COLORS)
_colors_full_map.update(CSS4_COLORS)
_colors_full_map.update(VEGA_COLORS)
_colors_full_map.update(BASE_COLORS)
_colors_full_map = _ColorMapping(_colors_full_map)

Expand Down Expand Up @@ -253,7 +254,7 @@ def to_hex(c, keep_alpha=False):
### Backwards-compatible color-conversion API

cnames = CSS4_COLORS
COLOR_NAMES = {'xkcd': XKCD_COLORS, 'css4': CSS4_COLORS}
COLOR_NAMES = {'xkcd': XKCD_COLORS, 'css4': CSS4_COLORS, 'vega': VEGA_COLORS}
hexColorPattern = re.compile("\A#[a-fA-F0-9]{6}\Z")


Expand Down Expand Up @@ -404,7 +405,7 @@ class Colormap(object):

"""
def __init__(self, name, N=256):
r"""
"""
Parameters
----------
name : str
Expand Down
3 changes: 2 additions & 1 deletion lib/matplotlib/tests/test_colors.py
Original file line number Diff line number Diff line change
Expand Up @@ -571,9 +571,10 @@ def angled_plane(azimuth, elevation, angle, x, y):
assert_array_almost_equal(h, np.cos(np.radians(angle)))


def test_xkcd():
def test_color_names():
assert mcolors.to_hex("blue") == "#0000ff"
assert mcolors.to_hex("xkcd:blue") == "#0343df"
assert mcolors.to_hex("vega:blue") == "#1f77b4"


def _sph2cart(theta, phi):
Expand Down
0