gladly-plot 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,564 @@
1
+ import { registerColorscale } from './ColorscaleRegistry.js'
2
+
3
+ // Generate a GLSL vec4 colorscale_NAME(float t) function from an array of
4
+ // [t, r, g, b] stops, using piecewise linear interpolation.
5
+ function stopsToGlsl(name, stops) {
6
+ const f = n => n.toFixed(5)
7
+ const lines = [`vec4 colorscale_${name}(float t) {`]
8
+ lines.push(' t = clamp(t, 0.0, 1.0);')
9
+ for (let i = 0; i < stops.length - 1; i++) {
10
+ const [t0, r0, g0, b0] = stops[i]
11
+ const [t1, r1, g1, b1] = stops[i + 1]
12
+ const dt = t1 - t0
13
+ const isLast = i === stops.length - 2
14
+ const cond = isLast ? '' : `if (t < ${f(t1)}) `
15
+ const u = t0 === 0.0 ? `t / ${f(dt)}` : `(t - ${f(t0)}) / ${f(dt)}`
16
+ lines.push(` ${cond}{ float u = ${u}; return vec4(mix(vec3(${f(r0)},${f(g0)},${f(b0)}), vec3(${f(r1)},${f(g1)},${f(b1)}), u), 1.0); }`)
17
+ }
18
+ lines.push('}')
19
+ return lines.join('\n')
20
+ }
21
+
22
+ function reg(name, stops) {
23
+ registerColorscale(name, stopsToGlsl(name, stops))
24
+ }
25
+
26
+ // ---------------------------------------------------------------------------
27
+ // Perceptually uniform sequential
28
+ // ---------------------------------------------------------------------------
29
+
30
+ reg('viridis', [
31
+ [0.000, 0.267004, 0.004874, 0.329415],
32
+ [0.143, 0.278826, 0.175490, 0.483397],
33
+ [0.286, 0.229739, 0.298514, 0.538007],
34
+ [0.429, 0.127568, 0.416500, 0.556627],
35
+ [0.571, 0.134692, 0.518556, 0.553961],
36
+ [0.714, 0.254627, 0.631475, 0.505197],
37
+ [0.857, 0.477504, 0.736353, 0.411248],
38
+ [1.000, 0.993248, 0.906157, 0.143936],
39
+ ])
40
+
41
+ reg('plasma', [
42
+ [0.000, 0.050383, 0.029803, 0.527975],
43
+ [0.143, 0.294234, 0.014616, 0.627020],
44
+ [0.286, 0.485386, 0.046929, 0.692000],
45
+ [0.429, 0.641293, 0.107380, 0.664729],
46
+ [0.571, 0.786360, 0.106257, 0.586816],
47
+ [0.714, 0.907296, 0.194860, 0.434610],
48
+ [0.857, 0.975949, 0.393480, 0.217040],
49
+ [1.000, 0.940015, 0.975158, 0.131326],
50
+ ])
51
+
52
+ reg('inferno', [
53
+ [0.000, 0.001462, 0.000466, 0.013866],
54
+ [0.143, 0.147607, 0.017520, 0.300290],
55
+ [0.286, 0.369214, 0.039088, 0.428422],
56
+ [0.429, 0.568126, 0.061992, 0.365531],
57
+ [0.571, 0.752886, 0.106243, 0.240952],
58
+ [0.714, 0.900675, 0.222622, 0.068871],
59
+ [0.857, 0.979050, 0.436756, 0.028610],
60
+ [1.000, 0.988362, 0.998364, 0.644924],
61
+ ])
62
+
63
+ reg('magma', [
64
+ [0.000, 0.001462, 0.000466, 0.013866],
65
+ [0.143, 0.148115, 0.024918, 0.329770],
66
+ [0.286, 0.337317, 0.062144, 0.463069],
67
+ [0.429, 0.535520, 0.093685, 0.450321],
68
+ [0.571, 0.722817, 0.130003, 0.378004],
69
+ [0.714, 0.899126, 0.216219, 0.287127],
70
+ [0.857, 0.982590, 0.438517, 0.283498],
71
+ [1.000, 0.987053, 0.991438, 0.749504],
72
+ ])
73
+
74
+ reg('cividis', [
75
+ [0.000, 0.000000, 0.135112, 0.304751],
76
+ [0.143, 0.076090, 0.198814, 0.381666],
77
+ [0.286, 0.182758, 0.261403, 0.383600],
78
+ [0.429, 0.312613, 0.321020, 0.373000],
79
+ [0.571, 0.467970, 0.389641, 0.347000],
80
+ [0.714, 0.624523, 0.472970, 0.275000],
81
+ [0.857, 0.784988, 0.576130, 0.173810],
82
+ [1.000, 0.995737, 0.909344, 0.000000],
83
+ ])
84
+
85
+ // ---------------------------------------------------------------------------
86
+ // Sequential single-hue (ColorBrewer)
87
+ // ---------------------------------------------------------------------------
88
+
89
+ reg('Blues', [
90
+ [0.000, 0.968600, 0.984300, 1.000000],
91
+ [0.250, 0.776500, 0.859800, 0.937300],
92
+ [0.500, 0.419600, 0.682400, 0.839200],
93
+ [0.750, 0.129400, 0.443100, 0.709800],
94
+ [1.000, 0.031400, 0.188200, 0.419600],
95
+ ])
96
+
97
+ reg('Greens', [
98
+ [0.000, 0.968600, 0.988200, 0.960800],
99
+ [0.250, 0.779600, 0.913700, 0.752900],
100
+ [0.500, 0.454900, 0.768600, 0.462700],
101
+ [0.750, 0.137300, 0.545100, 0.270600],
102
+ [1.000, 0.000000, 0.266700, 0.105900],
103
+ ])
104
+
105
+ reg('Reds', [
106
+ [0.000, 1.000000, 0.960800, 0.941200],
107
+ [0.250, 0.988200, 0.733300, 0.631400],
108
+ [0.500, 0.988200, 0.415700, 0.290200],
109
+ [0.750, 0.796100, 0.094100, 0.113700],
110
+ [1.000, 0.403900, 0.000000, 0.050980],
111
+ ])
112
+
113
+ reg('Oranges', [
114
+ [0.000, 1.000000, 0.960800, 0.921600],
115
+ [0.250, 0.992200, 0.815700, 0.631400],
116
+ [0.500, 0.992200, 0.631400, 0.325500],
117
+ [0.750, 0.890200, 0.356900, 0.062700],
118
+ [1.000, 0.498000, 0.153000, 0.016000],
119
+ ])
120
+
121
+ reg('Purples', [
122
+ [0.000, 0.988200, 0.984300, 0.992200],
123
+ [0.250, 0.843100, 0.843100, 0.901900],
124
+ [0.500, 0.619600, 0.603900, 0.784300],
125
+ [0.750, 0.470600, 0.317600, 0.662700],
126
+ [1.000, 0.247100, 0.000000, 0.490200],
127
+ ])
128
+
129
+ reg('Greys', [
130
+ [0.000, 1.000000, 1.000000, 1.000000],
131
+ [1.000, 0.000000, 0.000000, 0.000000],
132
+ ])
133
+
134
+ // ---------------------------------------------------------------------------
135
+ // Sequential multi-hue (ColorBrewer)
136
+ // ---------------------------------------------------------------------------
137
+
138
+ reg('YlOrBr', [
139
+ [0.000, 1.000000, 1.000000, 0.800000],
140
+ [0.250, 0.996100, 0.890200, 0.564700],
141
+ [0.500, 0.996100, 0.690200, 0.231400],
142
+ [0.750, 0.850900, 0.376500, 0.054900],
143
+ [1.000, 0.400000, 0.145100, 0.023500],
144
+ ])
145
+
146
+ reg('YlOrRd', [
147
+ [0.000, 1.000000, 1.000000, 0.800000],
148
+ [0.250, 0.996100, 0.851000, 0.462700],
149
+ [0.500, 0.992200, 0.553000, 0.234900],
150
+ [0.750, 0.890200, 0.101960, 0.109800],
151
+ [1.000, 0.501960, 0.000000, 0.149000],
152
+ ])
153
+
154
+ reg('OrRd', [
155
+ [0.000, 1.000000, 0.968600, 0.925500],
156
+ [0.333, 0.992200, 0.729400, 0.517600],
157
+ [0.667, 0.937300, 0.282400, 0.117600],
158
+ [1.000, 0.498000, 0.000000, 0.000000],
159
+ ])
160
+
161
+ reg('PuRd', [
162
+ [0.000, 0.968600, 0.956900, 0.976500],
163
+ [0.333, 0.858800, 0.607800, 0.760800],
164
+ [0.667, 0.839200, 0.070600, 0.407800],
165
+ [1.000, 0.403900, 0.000000, 0.121600],
166
+ ])
167
+
168
+ reg('RdPu', [
169
+ [0.000, 1.000000, 0.968600, 0.952900],
170
+ [0.333, 0.992200, 0.682400, 0.619600],
171
+ [0.667, 0.862700, 0.200000, 0.490200],
172
+ [1.000, 0.286300, 0.000000, 0.415700],
173
+ ])
174
+
175
+ reg('BuPu', [
176
+ [0.000, 0.968600, 0.988200, 0.992200],
177
+ [0.333, 0.560800, 0.780400, 0.862700],
178
+ [0.667, 0.549000, 0.419600, 0.698000],
179
+ [1.000, 0.301960, 0.000000, 0.294100],
180
+ ])
181
+
182
+ reg('GnBu', [
183
+ [0.000, 0.968600, 0.988200, 0.941200],
184
+ [0.333, 0.658800, 0.866700, 0.709800],
185
+ [0.667, 0.258800, 0.564700, 0.752900],
186
+ [1.000, 0.031400, 0.113700, 0.345100],
187
+ ])
188
+
189
+ reg('PuBu', [
190
+ [0.000, 1.000000, 0.968600, 0.984300],
191
+ [0.333, 0.741200, 0.823500, 0.898000],
192
+ [0.667, 0.239200, 0.600000, 0.741200],
193
+ [1.000, 0.031400, 0.219600, 0.403900],
194
+ ])
195
+
196
+ reg('YlGnBu', [
197
+ [0.000, 1.000000, 1.000000, 0.850900],
198
+ [0.250, 0.780400, 0.913700, 0.706000],
199
+ [0.500, 0.254900, 0.713700, 0.768600],
200
+ [0.750, 0.031400, 0.407800, 0.674500],
201
+ [1.000, 0.031400, 0.113700, 0.345100],
202
+ ])
203
+
204
+ reg('PuBuGn', [
205
+ [0.000, 1.000000, 0.968600, 0.984300],
206
+ [0.333, 0.713700, 0.811800, 0.901900],
207
+ [0.667, 0.117600, 0.568600, 0.619600],
208
+ [1.000, 0.003900, 0.274500, 0.211800],
209
+ ])
210
+
211
+ reg('BuGn', [
212
+ [0.000, 0.968600, 0.988200, 0.992200],
213
+ [0.333, 0.600000, 0.850900, 0.788200],
214
+ [0.667, 0.211800, 0.682400, 0.439200],
215
+ [1.000, 0.000000, 0.266700, 0.105900],
216
+ ])
217
+
218
+ reg('YlGn', [
219
+ [0.000, 1.000000, 1.000000, 0.898000],
220
+ [0.333, 0.749000, 0.909800, 0.698000],
221
+ [0.667, 0.407800, 0.741200, 0.388200],
222
+ [1.000, 0.000000, 0.439200, 0.231400],
223
+ ])
224
+
225
+ // ---------------------------------------------------------------------------
226
+ // Diverging (ColorBrewer + matplotlib)
227
+ // ---------------------------------------------------------------------------
228
+
229
+ reg('PiYG', [
230
+ [0.000, 0.557000, 0.004000, 0.322000],
231
+ [0.250, 0.956000, 0.618000, 0.804000],
232
+ [0.500, 0.969000, 0.969000, 0.969000],
233
+ [0.750, 0.717000, 0.882000, 0.475000],
234
+ [1.000, 0.153000, 0.392000, 0.098000],
235
+ ])
236
+
237
+ reg('PRGn', [
238
+ [0.000, 0.251000, 0.000000, 0.294000],
239
+ [0.250, 0.750000, 0.620000, 0.809000],
240
+ [0.500, 0.969000, 0.969000, 0.969000],
241
+ [0.750, 0.580000, 0.831000, 0.549000],
242
+ [1.000, 0.000000, 0.267000, 0.106000],
243
+ ])
244
+
245
+ reg('BrBG', [
246
+ [0.000, 0.329000, 0.188000, 0.020000],
247
+ [0.250, 0.812000, 0.612000, 0.302000],
248
+ [0.500, 0.969000, 0.969000, 0.969000],
249
+ [0.750, 0.439000, 0.765000, 0.768000],
250
+ [1.000, 0.000000, 0.235000, 0.188000],
251
+ ])
252
+
253
+ reg('PuOr', [
254
+ [0.000, 0.498000, 0.231000, 0.031000],
255
+ [0.250, 0.992000, 0.722000, 0.388000],
256
+ [0.500, 0.969000, 0.969000, 0.969000],
257
+ [0.750, 0.698000, 0.671000, 0.824000],
258
+ [1.000, 0.176000, 0.000000, 0.294000],
259
+ ])
260
+
261
+ reg('RdGy', [
262
+ [0.000, 0.404000, 0.000000, 0.122000],
263
+ [0.250, 0.957000, 0.427000, 0.263000],
264
+ [0.500, 1.000000, 1.000000, 1.000000],
265
+ [0.750, 0.729000, 0.729000, 0.729000],
266
+ [1.000, 0.102000, 0.102000, 0.102000],
267
+ ])
268
+
269
+ reg('RdBu', [
270
+ [0.000, 0.403000, 0.000000, 0.122000],
271
+ [0.125, 0.698000, 0.093500, 0.168000],
272
+ [0.250, 0.897000, 0.397000, 0.306000],
273
+ [0.375, 0.981000, 0.700000, 0.615000],
274
+ [0.500, 0.969000, 0.969000, 0.969000],
275
+ [0.625, 0.644000, 0.808000, 0.892000],
276
+ [0.750, 0.259000, 0.572000, 0.776000],
277
+ [0.875, 0.129000, 0.358000, 0.556000],
278
+ [1.000, 0.019000, 0.188000, 0.381000],
279
+ ])
280
+
281
+ reg('RdYlBu', [
282
+ [0.000, 0.647000, 0.000000, 0.149000],
283
+ [0.250, 0.957000, 0.427000, 0.263000],
284
+ [0.500, 1.000000, 1.000000, 0.749000],
285
+ [0.750, 0.592000, 0.784000, 0.875000],
286
+ [1.000, 0.173000, 0.482000, 0.710000],
287
+ ])
288
+
289
+ reg('RdYlGn', [
290
+ [0.000, 0.647000, 0.000000, 0.149000],
291
+ [0.250, 0.957000, 0.427000, 0.263000],
292
+ [0.500, 1.000000, 1.000000, 0.749000],
293
+ [0.750, 0.517000, 0.775000, 0.369000],
294
+ [1.000, 0.000000, 0.408000, 0.216000],
295
+ ])
296
+
297
+ reg('Spectral', [
298
+ [0.000, 0.619600, 0.003900, 0.258800],
299
+ [0.200, 0.960800, 0.427500, 0.262700],
300
+ [0.400, 0.996100, 0.878400, 0.545100],
301
+ [0.500, 1.000000, 1.000000, 0.749000],
302
+ [0.600, 0.901900, 0.960800, 0.596100],
303
+ [0.800, 0.400000, 0.760800, 0.647100],
304
+ [1.000, 0.169000, 0.502000, 0.745000],
305
+ ])
306
+
307
+ reg('coolwarm', [
308
+ [0.000, 0.229490, 0.298710, 0.753882],
309
+ [0.250, 0.552061, 0.682980, 0.924990],
310
+ [0.500, 0.865003, 0.865003, 0.865003],
311
+ [0.750, 0.956925, 0.581598, 0.490588],
312
+ [1.000, 0.705850, 0.015629, 0.150246],
313
+ ])
314
+
315
+ reg('bwr', [
316
+ [0.000, 0.000000, 0.000000, 1.000000],
317
+ [0.500, 1.000000, 1.000000, 1.000000],
318
+ [1.000, 1.000000, 0.000000, 0.000000],
319
+ ])
320
+
321
+ reg('seismic', [
322
+ [0.000, 0.000000, 0.000000, 0.300000],
323
+ [0.250, 0.000000, 0.000000, 1.000000],
324
+ [0.500, 1.000000, 1.000000, 1.000000],
325
+ [0.750, 1.000000, 0.000000, 0.000000],
326
+ [1.000, 0.300000, 0.000000, 0.000000],
327
+ ])
328
+
329
+ // ---------------------------------------------------------------------------
330
+ // Cyclic
331
+ // ---------------------------------------------------------------------------
332
+
333
+ reg('twilight', [
334
+ [0.000, 0.885300, 0.727500, 0.843100],
335
+ [0.125, 0.625000, 0.520000, 0.761000],
336
+ [0.250, 0.318000, 0.222000, 0.523000],
337
+ [0.375, 0.113000, 0.073000, 0.191000],
338
+ [0.500, 0.088000, 0.063000, 0.101000],
339
+ [0.625, 0.282000, 0.095000, 0.101000],
340
+ [0.750, 0.604000, 0.286000, 0.312000],
341
+ [0.875, 0.844000, 0.554000, 0.618000],
342
+ [1.000, 0.885300, 0.727500, 0.843100],
343
+ ])
344
+
345
+ reg('twilight_shifted', [
346
+ [0.000, 0.088000, 0.063000, 0.101000],
347
+ [0.125, 0.282000, 0.095000, 0.101000],
348
+ [0.250, 0.604000, 0.286000, 0.312000],
349
+ [0.375, 0.844000, 0.554000, 0.618000],
350
+ [0.500, 0.885300, 0.727500, 0.843100],
351
+ [0.625, 0.625000, 0.520000, 0.761000],
352
+ [0.750, 0.318000, 0.222000, 0.523000],
353
+ [0.875, 0.113000, 0.073000, 0.191000],
354
+ [1.000, 0.088000, 0.063000, 0.101000],
355
+ ])
356
+
357
+ reg('hsv', [
358
+ [0.000, 1.000000, 0.000000, 0.000000],
359
+ [0.167, 1.000000, 1.000000, 0.000000],
360
+ [0.333, 0.000000, 1.000000, 0.000000],
361
+ [0.500, 0.000000, 1.000000, 1.000000],
362
+ [0.667, 0.000000, 0.000000, 1.000000],
363
+ [0.833, 1.000000, 0.000000, 1.000000],
364
+ [1.000, 1.000000, 0.000000, 0.000000],
365
+ ])
366
+
367
+ // ---------------------------------------------------------------------------
368
+ // Sequential misc
369
+ // ---------------------------------------------------------------------------
370
+
371
+ reg('hot', [
372
+ [0.000, 0.000000, 0.000000, 0.000000],
373
+ [0.375, 1.000000, 0.000000, 0.000000],
374
+ [0.750, 1.000000, 1.000000, 0.000000],
375
+ [1.000, 1.000000, 1.000000, 1.000000],
376
+ ])
377
+
378
+ reg('afmhot', [
379
+ [0.000, 0.000000, 0.000000, 0.000000],
380
+ [0.375, 1.000000, 0.000000, 0.000000],
381
+ [0.750, 1.000000, 1.000000, 0.000000],
382
+ [1.000, 1.000000, 1.000000, 1.000000],
383
+ ])
384
+
385
+ reg('gist_heat', [
386
+ [0.000, 0.000000, 0.000000, 0.000000],
387
+ [0.333, 1.000000, 0.000000, 0.000000],
388
+ [0.667, 1.000000, 0.627000, 0.000000],
389
+ [1.000, 1.000000, 1.000000, 1.000000],
390
+ ])
391
+
392
+ reg('copper', [
393
+ [0.000, 0.000000, 0.000000, 0.000000],
394
+ [0.800, 1.000000, 0.625040, 0.398000],
395
+ [1.000, 1.000000, 0.781200, 0.497500],
396
+ ])
397
+
398
+ reg('bone', [
399
+ [0.000, 0.000000, 0.000000, 0.000000],
400
+ [0.375, 0.329412, 0.329412, 0.455882],
401
+ [0.750, 0.658824, 0.745098, 0.745098],
402
+ [1.000, 1.000000, 1.000000, 1.000000],
403
+ ])
404
+
405
+ reg('pink', [
406
+ [0.000, 0.117647, 0.000000, 0.000000],
407
+ [0.333, 0.651007, 0.437318, 0.437318],
408
+ [0.667, 0.859025, 0.764706, 0.600691],
409
+ [1.000, 1.000000, 1.000000, 1.000000],
410
+ ])
411
+
412
+ reg('spring', [
413
+ [0.000, 1.000000, 0.000000, 1.000000],
414
+ [1.000, 1.000000, 1.000000, 0.000000],
415
+ ])
416
+
417
+ reg('summer', [
418
+ [0.000, 0.000000, 0.500000, 0.400000],
419
+ [1.000, 1.000000, 1.000000, 0.400000],
420
+ ])
421
+
422
+ reg('autumn', [
423
+ [0.000, 1.000000, 0.000000, 0.000000],
424
+ [1.000, 1.000000, 1.000000, 0.000000],
425
+ ])
426
+
427
+ reg('winter', [
428
+ [0.000, 0.000000, 0.000000, 1.000000],
429
+ [1.000, 0.000000, 1.000000, 0.500000],
430
+ ])
431
+
432
+ reg('cool', [
433
+ [0.000, 0.000000, 1.000000, 1.000000],
434
+ [1.000, 1.000000, 0.000000, 1.000000],
435
+ ])
436
+
437
+ reg('Wistia', [
438
+ [0.000, 0.894100, 1.000000, 0.478400],
439
+ [0.500, 1.000000, 0.893000, 0.090200],
440
+ [1.000, 0.988200, 0.498000, 0.062700],
441
+ ])
442
+
443
+ reg('gray', [
444
+ [0.000, 0.000000, 0.000000, 0.000000],
445
+ [1.000, 1.000000, 1.000000, 1.000000],
446
+ ])
447
+
448
+ // ---------------------------------------------------------------------------
449
+ // Misc / complex
450
+ // ---------------------------------------------------------------------------
451
+
452
+ reg('jet', [
453
+ [0.000, 0.000000, 0.000000, 0.500000],
454
+ [0.110, 0.000000, 0.000000, 1.000000],
455
+ [0.375, 0.000000, 1.000000, 1.000000],
456
+ [0.500, 0.500000, 1.000000, 0.500000],
457
+ [0.625, 1.000000, 1.000000, 0.000000],
458
+ [0.890, 1.000000, 0.000000, 0.000000],
459
+ [1.000, 0.500000, 0.000000, 0.000000],
460
+ ])
461
+
462
+ reg('turbo', [
463
+ [0.000, 0.189970, 0.071760, 0.232170],
464
+ [0.143, 0.257140, 0.352680, 0.890000],
465
+ [0.286, 0.158430, 0.679520, 0.978190],
466
+ [0.429, 0.000000, 0.930600, 0.684100],
467
+ [0.571, 0.562900, 0.970000, 0.195900],
468
+ [0.714, 0.948980, 0.832000, 0.074020],
469
+ [0.857, 0.984560, 0.487850, 0.075480],
470
+ [1.000, 0.479600, 0.015830, 0.010550],
471
+ ])
472
+
473
+ reg('rainbow', [
474
+ [0.000, 0.666700, 0.000000, 1.000000],
475
+ [0.200, 0.000000, 0.000000, 1.000000],
476
+ [0.400, 0.000000, 1.000000, 0.000000],
477
+ [0.600, 1.000000, 1.000000, 0.000000],
478
+ [0.800, 1.000000, 0.500000, 0.000000],
479
+ [1.000, 1.000000, 0.000000, 0.000000],
480
+ ])
481
+
482
+ reg('gnuplot', [
483
+ [0.000, 0.000000, 0.000000, 0.000000],
484
+ [0.250, 0.500000, 0.000000, 0.707000],
485
+ [0.500, 1.000000, 0.000000, 1.000000],
486
+ [0.750, 0.500000, 0.707000, 0.707000],
487
+ [1.000, 0.000000, 1.000000, 0.000000],
488
+ ])
489
+
490
+ reg('gnuplot2', [
491
+ [0.000, 0.000000, 0.000000, 0.000000],
492
+ [0.250, 0.396000, 0.000000, 0.533000],
493
+ [0.500, 0.000000, 0.398000, 1.000000],
494
+ [0.750, 0.000000, 1.000000, 0.866000],
495
+ [1.000, 1.000000, 1.000000, 1.000000],
496
+ ])
497
+
498
+ reg('CMRmap', [
499
+ [0.000, 0.000000, 0.000000, 0.000000],
500
+ [0.250, 0.475000, 0.000000, 0.600000],
501
+ [0.500, 0.900000, 0.370000, 0.000000],
502
+ [0.750, 0.980000, 0.920000, 0.300000],
503
+ [1.000, 1.000000, 1.000000, 1.000000],
504
+ ])
505
+
506
+ reg('cubehelix', [
507
+ [0.000, 0.000000, 0.000000, 0.000000],
508
+ [0.250, 0.236000, 0.157000, 0.421000],
509
+ [0.500, 0.315000, 0.541000, 0.353000],
510
+ [0.750, 0.845000, 0.716000, 0.663000],
511
+ [1.000, 1.000000, 1.000000, 1.000000],
512
+ ])
513
+
514
+ reg('nipy_spectral', [
515
+ [0.000, 0.000000, 0.000000, 0.000000],
516
+ [0.143, 0.467000, 0.000000, 0.533000],
517
+ [0.286, 0.000000, 0.400000, 0.933000],
518
+ [0.429, 0.000000, 0.933000, 0.933000],
519
+ [0.571, 0.000000, 0.800000, 0.000000],
520
+ [0.714, 0.867000, 0.867000, 0.000000],
521
+ [0.857, 1.000000, 0.267000, 0.000000],
522
+ [1.000, 0.800000, 0.800000, 0.800000],
523
+ ])
524
+
525
+ reg('gist_rainbow', [
526
+ [0.000, 1.000000, 0.000000, 0.161000],
527
+ [0.167, 1.000000, 1.000000, 0.000000],
528
+ [0.333, 0.000000, 1.000000, 0.000000],
529
+ [0.500, 0.000000, 1.000000, 1.000000],
530
+ [0.667, 0.000000, 0.000000, 1.000000],
531
+ [0.833, 1.000000, 0.000000, 1.000000],
532
+ [1.000, 1.000000, 0.000000, 0.000000],
533
+ ])
534
+
535
+ reg('gist_earth', [
536
+ [0.000, 0.000000, 0.000000, 0.000000],
537
+ [0.200, 0.058800, 0.239200, 0.415700],
538
+ [0.400, 0.219600, 0.447100, 0.262700],
539
+ [0.600, 0.576500, 0.600000, 0.337300],
540
+ [0.800, 0.819600, 0.749000, 0.564700],
541
+ [1.000, 1.000000, 1.000000, 1.000000],
542
+ ])
543
+
544
+ reg('terrain', [
545
+ [0.000, 0.200000, 0.200000, 0.600000],
546
+ [0.250, 0.000000, 0.600000, 1.000000],
547
+ [0.500, 0.000000, 0.800000, 0.400000],
548
+ [0.625, 0.537000, 0.741000, 0.153000],
549
+ [0.750, 0.725000, 0.588000, 0.345000],
550
+ [1.000, 1.000000, 1.000000, 1.000000],
551
+ ])
552
+
553
+ reg('ocean', [
554
+ [0.000, 0.000000, 0.400000, 0.400000],
555
+ [0.333, 0.000000, 0.000000, 0.800000],
556
+ [0.667, 0.000000, 0.800000, 0.400000],
557
+ [1.000, 1.000000, 1.000000, 1.000000],
558
+ ])
559
+
560
+ reg('brg', [
561
+ [0.000, 0.000000, 0.000000, 1.000000],
562
+ [0.500, 1.000000, 0.000000, 0.000000],
563
+ [1.000, 0.000000, 1.000000, 0.000000],
564
+ ])