Skip to content

Instantly share code, notes, and snippets.

@mwaskom
Created May 29, 2016 01:00
Show Gist options
  • Save mwaskom/9f4c519e185637a4d0a7dd7bd900207e to your computer and use it in GitHub Desktop.
Save mwaskom/9f4c519e185637a4d0a7dd7bd900207e to your computer and use it in GitHub Desktop.
Colormap with a similar aesthetic to viridis but with a broader luminance range.
from matplotlib.colors import ListedColormap
from numpy import nan, inf
# Used to reconstruct the colormap in viscm
parameters = {'xp': [3.559581561226338, 17.887066941343306, -44.539833643452027, -35.329307327662548, -2.5807693159666485],
'yp': [-7.9678362573099264, -64.766081871344994, -32.529239766081844, 43.201754385964932, 6.359649122807042],
'min_Jp': 2.08370436331,
'max_Jp': 99.3232413179}
cm_data = [[ 0.00679389, 0.00239967, 0.01842103],
[ 0.00888806, 0.00351125, 0.02354065],
[ 0.01123663, 0.00478832, 0.02933639],
[ 0.01383767, 0.00621975, 0.03586717],
[ 0.01668369, 0.00780498, 0.04302303],
[ 0.01977504, 0.00953293, 0.0502632 ],
[ 0.02310478, 0.01140537, 0.05746842],
[ 0.026675 , 0.01341009, 0.06469919],
[ 0.03047858, 0.01555122, 0.07191147],
[ 0.0345185 , 0.0178157 , 0.07916395],
[ 0.03878803, 0.02020845, 0.08641539],
[ 0.04318676, 0.02271754, 0.09371243],
[ 0.04752059, 0.02534605, 0.10102805],
[ 0.05180318, 0.02808557, 0.10838858],
[ 0.05603664, 0.03093457, 0.11578942],
[ 0.06022303, 0.03389126, 0.12322847],
[ 0.06436669, 0.0369458 , 0.13073276],
[ 0.06846604, 0.04010588, 0.1382668 ],
[ 0.07252714, 0.04324623, 0.14588612],
[ 0.07654742, 0.04633551, 0.15354767],
[ 0.08052956, 0.04937475, 0.16127347],
[ 0.08447508, 0.05236257, 0.16907638],
[ 0.08838236, 0.05530993, 0.17692745],
[ 0.09225477, 0.05820539, 0.18487192],
[ 0.09609057, 0.06105872, 0.19288386],
[ 0.0998892 , 0.06387465, 0.20095392],
[ 0.10365332, 0.06663941, 0.20913352],
[ 0.10738009, 0.06936711, 0.21738166],
[ 0.11106896, 0.07205974, 0.22569743],
[ 0.11472101, 0.07470633, 0.23412215],
[ 0.11833395, 0.07731623, 0.2426304 ],
[ 0.12190635, 0.07989329, 0.25121495],
[ 0.12543721, 0.08243572, 0.259887 ],
[ 0.12892553, 0.08493659, 0.26867443],
[ 0.1323684 , 0.0874075 , 0.27754524],
[ 0.13576372, 0.08984954, 0.28650181],
[ 0.13910908, 0.09226397, 0.29554635],
[ 0.14240169, 0.09464601, 0.3047009 ],
[ 0.145638 , 0.09700096, 0.31395553],
[ 0.14881428, 0.09933446, 0.32329993],
[ 0.15192635, 0.10164909, 0.33273441],
[ 0.15496948, 0.1039479 , 0.34225864],
[ 0.15793834, 0.10623453, 0.35187143],
[ 0.16082689, 0.10851332, 0.36157059],
[ 0.16362834, 0.11078944, 0.37135267],
[ 0.16633505, 0.11306899, 0.38121278],
[ 0.16893852, 0.11535919, 0.3911443 ],
[ 0.17142922, 0.11766849, 0.40113855],
[ 0.17379661, 0.12000674, 0.41118456],
[ 0.176029 , 0.12238528, 0.4212687 ],
[ 0.17811358, 0.12481709, 0.43137435],
[ 0.18003635, 0.12731684, 0.44148163],
[ 0.18178212, 0.12990086, 0.45156714],
[ 0.18333046, 0.13258258, 0.46162229],
[ 0.18466394, 0.13538371, 0.47160928],
[ 0.18576663, 0.13832818, 0.48148027],
[ 0.18661664, 0.14143569, 0.49120476],
[ 0.18718877, 0.14472626, 0.50075192],
[ 0.18747253, 0.14822573, 0.51004957],
[ 0.18743907, 0.1519504 , 0.51907142],
[ 0.18708231, 0.15591931, 0.52774579],
[ 0.18638253, 0.16014345, 0.53603463],
[ 0.18533996, 0.16462913, 0.54387957],
[ 0.18394603, 0.16937568, 0.55124696],
[ 0.18221199, 0.17437412, 0.55809692],
[ 0.18014516, 0.17960932, 0.56440978],
[ 0.17776394, 0.18505914, 0.57017307],
[ 0.17508807, 0.19069739, 0.57538781],
[ 0.17214428, 0.196494 , 0.58006455],
[ 0.16895276, 0.20242027, 0.58422447],
[ 0.16555088, 0.20844305, 0.58789374],
[ 0.16194987, 0.21453896, 0.59110466],
[ 0.15819488, 0.22067618, 0.59389288],
[ 0.15428825, 0.22683913, 0.59629217],
[ 0.15027325, 0.23300181, 0.59834139],
[ 0.14615392, 0.23915332, 0.60007198],
[ 0.14195602, 0.2452782 , 0.60151803],
[ 0.1377033 , 0.25136397, 0.60271225],
[ 0.13339709, 0.25740672, 0.60367824],
[ 0.12906619, 0.26339604, 0.60444638],
[ 0.12472524, 0.26932727, 0.60504067],
[ 0.12037715, 0.27520008, 0.60547834],
[ 0.11603649, 0.28101184, 0.60577889],
[ 0.11173382, 0.28675698, 0.6059668 ],
[ 0.10746985, 0.29243833, 0.60605254],
[ 0.10325573, 0.29805657, 0.60604893],
[ 0.09910643, 0.30361204, 0.6059688 ],
[ 0.09503753, 0.30910552, 0.60582366],
[ 0.09107036, 0.31453711, 0.60562606],
[ 0.0872232 , 0.31990807, 0.60538575],
[ 0.08350677, 0.3252215 , 0.60510765],
[ 0.07994027, 0.33047908, 0.60479911],
[ 0.07654396, 0.3356826 , 0.60446668],
[ 0.07333912, 0.34083393, 0.60411618],
[ 0.07034789, 0.34593499, 0.60375281],
[ 0.06759295, 0.35098771, 0.60338121],
[ 0.06509714, 0.35599404, 0.60300547],
[ 0.06288291, 0.3609559 , 0.60262923],
[ 0.06097162, 0.3658752 , 0.60225574],
[ 0.05938272, 0.37075384, 0.60188783],
[ 0.05813296, 0.37559364, 0.60152804],
[ 0.05723552, 0.38039641, 0.60117857],
[ 0.05669928, 0.38516391, 0.60084137],
[ 0.05652832, 0.38989785, 0.60051815],
[ 0.05672162, 0.39459988, 0.60021039],
[ 0.05727309, 0.39927161, 0.59991937],
[ 0.05817194, 0.40391461, 0.59964619],
[ 0.05940323, 0.40853037, 0.59939179],
[ 0.06094869, 0.41312036, 0.59915697],
[ 0.06278756, 0.41768599, 0.59894238],
[ 0.06489753, 0.42222861, 0.59874856],
[ 0.06725552, 0.42674955, 0.59857594],
[ 0.06983843, 0.43125007, 0.59842482],
[ 0.0726237 , 0.43573139, 0.59829544],
[ 0.07558978, 0.4401947 , 0.59818794],
[ 0.07871638, 0.44464114, 0.59810237],
[ 0.08198469, 0.44907182, 0.5980387 ],
[ 0.0853788 , 0.45348752, 0.59799825],
[ 0.08888155, 0.45788954, 0.59797947],
[ 0.09247869, 0.46227892, 0.59798201],
[ 0.09615759, 0.4666566 , 0.59800556],
[ 0.09990698, 0.4710235 , 0.59804979],
[ 0.10371687, 0.47538052, 0.59811431],
[ 0.10757843, 0.47972851, 0.59819867],
[ 0.11148387, 0.48406829, 0.59830239],
[ 0.11542635, 0.48840066, 0.59842494],
[ 0.11939999, 0.49272636, 0.59856586],
[ 0.12339988, 0.49704603, 0.59872518],
[ 0.12742096, 0.50136054, 0.59890126],
[ 0.13145931, 0.50567057, 0.59909339],
[ 0.1355116 , 0.50997677, 0.59930083],
[ 0.13957497, 0.51427977, 0.59952282],
[ 0.14364702, 0.51858016, 0.59975853],
[ 0.14772574, 0.52287853, 0.60000712],
[ 0.15180948, 0.52717542, 0.60026771],
[ 0.15589698, 0.53147133, 0.60053952],
[ 0.1599871 , 0.53576679, 0.60082134],
[ 0.16407909, 0.54006229, 0.6011121 ],
[ 0.16817248, 0.54435827, 0.60141082],
[ 0.17226702, 0.54865515, 0.60171645],
[ 0.17636267, 0.55295332, 0.60202795],
[ 0.18045963, 0.55725314, 0.60234422],
[ 0.18455826, 0.56155495, 0.60266418],
[ 0.18865903, 0.56585911, 0.60298635],
[ 0.19276266, 0.57016591, 0.6033095 ],
[ 0.19687009, 0.57447559, 0.60363265],
[ 0.2009824 , 0.57878836, 0.60395464],
[ 0.20510078, 0.58310444, 0.60427425],
[ 0.2092266 , 0.58742399, 0.60459028],
[ 0.21336135, 0.59174716, 0.60490149],
[ 0.21750669, 0.59607407, 0.60520663],
[ 0.22166439, 0.60040479, 0.60550448],
[ 0.22583621, 0.60473952, 0.60579264],
[ 0.23002433, 0.60907818, 0.60607062],
[ 0.23423096, 0.61342074, 0.60633735],
[ 0.23845841, 0.61776717, 0.60659158],
[ 0.24270911, 0.62211738, 0.60683206],
[ 0.24698563, 0.62647127, 0.60705754],
[ 0.25129065, 0.63082869, 0.6072668 ],
[ 0.25562697, 0.63518947, 0.60745861],
[ 0.2599975 , 0.6395534 , 0.60763179],
[ 0.26440529, 0.64392021, 0.60778514],
[ 0.26885349, 0.64828962, 0.60791753],
[ 0.2733454 , 0.65266142, 0.60802659],
[ 0.27788442, 0.65703515, 0.60811214],
[ 0.28247406, 0.66141035, 0.60817345],
[ 0.28711794, 0.66578658, 0.60820954],
[ 0.29181978, 0.67016333, 0.60821949],
[ 0.29658341, 0.67454005, 0.60820242],
[ 0.30141278, 0.67891615, 0.60815756],
[ 0.30631193, 0.68329097, 0.60808417],
[ 0.31128501, 0.68766382, 0.60798164],
[ 0.31633629, 0.69203393, 0.60784943],
[ 0.32147012, 0.69640049, 0.60768713],
[ 0.32669099, 0.70076263, 0.60749444],
[ 0.33200345, 0.70511942, 0.60727121],
[ 0.33741218, 0.70946983, 0.60701743],
[ 0.34292196, 0.7138128 , 0.60673328],
[ 0.34853765, 0.71814718, 0.60641915],
[ 0.35426421, 0.72247174, 0.60607561],
[ 0.36010669, 0.72678517, 0.60570353],
[ 0.36607024, 0.73108607, 0.60530402],
[ 0.37216007, 0.73537296, 0.60487854],
[ 0.37838147, 0.73964425, 0.60442887],
[ 0.38474193, 0.74389824, 0.60395281],
[ 0.3912454 , 0.74813308, 0.60345657],
[ 0.39789734, 0.75234687, 0.60294343],
[ 0.40470323, 0.75653756, 0.60241709],
[ 0.41166859, 0.76070301, 0.60188192],
[ 0.41879883, 0.76484096, 0.60134301],
[ 0.42610014, 0.76894895, 0.60080499],
[ 0.4335831 , 0.77302397, 0.60026753],
[ 0.44124762, 0.77706373, 0.59974622],
[ 0.44909835, 0.78106547, 0.59925009],
[ 0.45713952, 0.78502635, 0.59878939],
[ 0.46538549, 0.78894215, 0.59836421],
[ 0.47383041, 0.79281079, 0.59799852],
[ 0.4824757 , 0.79662939, 0.59770781],
[ 0.49133279, 0.80039345, 0.59749916],
[ 0.50039496, 0.80410089, 0.59739775],
[ 0.50965738, 0.80774944, 0.59742625],
[ 0.51912869, 0.81133457, 0.59759733],
[ 0.52878802, 0.81485668, 0.59794601],
[ 0.53863526, 0.81831277, 0.59849122],
[ 0.54865122, 0.82170346, 0.59926361],
[ 0.55882104, 0.82502894, 0.60028893],
[ 0.5691231 , 0.82829117, 0.6015941 ],
[ 0.57953221, 0.83149343, 0.60320424],
[ 0.59002133, 0.83464012, 0.60514107],
[ 0.60056065, 0.83773701, 0.6074226 ],
[ 0.61111851, 0.8407912 , 0.61006204],
[ 0.62166869, 0.84380933, 0.61306596],
[ 0.63217448, 0.84680155, 0.61643732],
[ 0.64262484, 0.84977217, 0.62017059],
[ 0.65297656, 0.8527348 , 0.6242584 ],
[ 0.6632296 , 0.85569191, 0.62868705],
[ 0.6733709 , 0.8586498 , 0.63344184],
[ 0.68336636, 0.86162154, 0.63850203],
[ 0.69323201, 0.86460555, 0.64385094],
[ 0.70296252, 0.86760656, 0.64946965],
[ 0.71255479, 0.87062868, 0.65533901],
[ 0.72199381, 0.87368012, 0.66143476],
[ 0.73129428, 0.87675926, 0.66774243],
[ 0.74046083, 0.87986758, 0.67424579],
[ 0.7494967 , 0.88300688, 0.68092884],
[ 0.75840596, 0.88617854, 0.68777671],
[ 0.76719325, 0.88938361, 0.69477573],
[ 0.7758637 , 0.89262281, 0.70191342],
[ 0.78442268, 0.89589658, 0.70917851],
[ 0.79287574, 0.89920518, 0.71656085],
[ 0.80122846, 0.90254864, 0.72405138],
[ 0.8094864 , 0.90592689, 0.73164203],
[ 0.81765502, 0.90933973, 0.73932565],
[ 0.8257261 , 0.91279263, 0.74708276],
[ 0.83371489, 0.91628116, 0.7549162 ],
[ 0.84162846, 0.91980403, 0.76282295],
[ 0.84947169, 0.92336077, 0.77079876],
[ 0.85724921, 0.92695087, 0.77883996],
[ 0.86495165, 0.93058022, 0.7869267 ],
[ 0.8725872 , 0.93424668, 0.79505941],
[ 0.88016902, 0.93794559, 0.80324641],
[ 0.88770085, 0.94167645, 0.81148568],
[ 0.89516575, 0.94544881, 0.81974699],
[ 0.90258144, 0.9492555 , 0.82804678],
[ 0.90995706, 0.95309315, 0.83639199],
[ 0.91728066, 0.95696897, 0.84475875],
[ 0.92455659, 0.96088207, 0.85314669],
[ 0.93180101, 0.96482523, 0.86157527],
[ 0.93899831, 0.96880771, 0.87001378],
[ 0.94615774, 0.97282584, 0.87847118],
[ 0.95329296, 0.97687329, 0.88696572],
[ 0.9603784 , 0.98096507, 0.89544714],
[ 0.96744188, 0.98508702, 0.90395923],
[ 0.97447543, 0.98924452, 0.91248273],
[ 0.98147524, 0.99344084, 0.92100475],
[ 0.98846142, 0.9976655 , 0.92955893]]
test_cm = ListedColormap(cm_data, name=__file__)
if __name__ == "__main__":
import matplotlib.pyplot as plt
import numpy as np
try:
from viscm import viscm
viscm(test_cm)
except ImportError:
print("viscm not found, falling back on simple display")
plt.imshow(np.linspace(0, 100, 256)[None, :], aspect='auto',
cmap=test_cm)
plt.show()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment