Skip to content

Commit

Permalink
Add a script to generate palettes from matplotlib colormaps (#31)
Browse files Browse the repository at this point in the history
* Add a script to generate palettes from matplotlib colormaps

* Add the default colormaps for matplotlib and yt

viridis and arbre, respectively.
  • Loading branch information
yut23 authored Apr 21, 2024
1 parent a9c20e6 commit 76c9bf1
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 0 deletions.
1 change: 1 addition & 0 deletions cmyt.arbre.pal
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
qqrrsstuuvvwwxxyyzz{{||}}~~���������������������������������������������������������������}|zywvtrqonljigedba_^\[YXWUTSRPONMLKJIHGFEDDCBAA@?>>=<<;::99876654432210//.--,++**))((((()))*+,-.013579;>@CEHKNQTWZ]adgknruy|������������������������������������� !""#$%%&&'(())*++,,--..///00112223334455566778899::;<<=>?@ABDEFHIKMNPRTVXZ\^`bdfhjlnprtuwy{|~����������������������������������������������������������������������������������������������������������������������������������������������"$'),.1368:=?BDGILNPSUXZ]_bdgilnqsvx{~������������������������������������������������������������������������������������������������������������������������������������������������������������������~|zxusqnligdb_]ZXURPMKHEC@>;97421/-,,++,-/148<@Edddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
Expand Down
33 changes: 33 additions & 0 deletions mpl_colormap_to_pal.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#!/usr/bin/env python3

import argparse
import importlib

import matplotlib as mpl
import numpy as np

parser = argparse.ArgumentParser(
description="Generate Amrvis palette files from matplotlib colormaps."
)
parser.add_argument("cmap", nargs="+", help="the name of a matplotlib colormap")
parser.add_argument(
"--import",
action="append",
dest="extra_imports",
metavar="MODULE",
default=[],
help="module to import for additional colormaps",
)
args = parser.parse_args()
print(args)

for name in args.extra_imports:
importlib.import_module(name)

for cm_name in args.cmap:
cmap = mpl.colormaps.get_cmap(cm_name)
colors = cmap.resampled(256)(np.linspace(0, 1, 256))
data = np.round(colors * (255, 255, 255, 100)).astype(np.uint8).T.reshape(-1)
filename = f"{cmap.name}.pal"
data.tofile(filename)
print(f"wrote palette to {filename}")
2 changes: 2 additions & 0 deletions viridis.pal
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
DDEEFFFFGGGGGHHHHHHHHHHHHHHHHHGGGGGFFFFEEEDDDCCBBBAA@@??>>>==<<;;::998877665544332211100//...--,,,++***)))(('''&&&%%%$$###"""!!!!  !!""#$%%&'()*,-./124578:;=?@BDFHJLNPRTVXZ\^`cegilnpsuwz|�������������������������������������������������
 !#$%&()*,-./02345789:;=>?@ABDEFGHIJLMNOPQRSTUVXYZ[\]^_`abcdefghijklmnopqqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������������������������TVWYZ\]^`acdeghijlmnopqstuvwxyzz{|}~~���������������������������������������������������������������������������������������������������������������������������~}||{zyyxwvutsrqponmlkjihgedcb`_^\[ZXWVTSQPNMKIHFECA@><;976420/-+)(&%#!  !#%dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
Expand Down

0 comments on commit 76c9bf1

Please sign in to comment.