petaurus 0.2.0__py3-none-any.whl

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.
petaurus/palettes.py ADDED
@@ -0,0 +1,3030 @@
1
+ colors = {
2
+ # --- custom palettes ---
3
+ "adobe_greys": [
4
+ "#221F20",
5
+ "#414042",
6
+ "#58595B",
7
+ "#6D6E71",
8
+ "#818284",
9
+ "#949598",
10
+ "#A8A9AC",
11
+ "#BCBEC0",
12
+ "#D2D3D4",
13
+ "#E7E7E8",
14
+ "#F1F2F2",
15
+ ],
16
+ # ── Palette build methodology ─────────────────────────────────────────────────
17
+ # All custom palettes below are built in Oklab (Ottosson 2020) for true
18
+ # perceptual uniformity. CIELAB variants (previously stored alongside as
19
+ # *_cielab) were dropped because Oklab has strictly lower hue non-linearity,
20
+ # especially in the blue region.
21
+ #
22
+ # Sequential recipe (_cielab, now removed):
23
+ # 1. Start from mpl base palette (e.g. mpl_Blues) in CIELAB.
24
+ # 2. At each of N base stops, set C* = 0.65 × max_gamut_chroma(L*, hue).
25
+ # 3. Densify the piecewise-linear path; resample 12 stops at equal CIELAB arc-length.
26
+ # Result: MAD(Oklab ΔE) ≈ 5–25% (cross-space metric mismatch).
27
+ #
28
+ # Sequential recipe (Oklab, current):
29
+ # 1. Fix hue in Oklab; sweep L from light → dark with C = 0.65 × Cmax(L, h).
30
+ # 2. Densify dense path; resample 12 stops at equal Oklab arc-length.
31
+ # Result: MAD(Oklab ΔE) ≈ 0.05–2% — true perceptual uniformity.
32
+ #
33
+ # Diverging recipe (Oklab, current):
34
+ # C(L) = FRAC × min_gamut_both_arms(L) × (1 − t); FRAC=0.85 for base,
35
+ # FRAC=1.0 for *_sat variants. 13 stops (odd) so the white pivot at stop 6
36
+ # lands exactly on the V-corner, avoiding the mid-palette dip that an even
37
+ # count introduces.
38
+ "ember": [
39
+ "#F6E4B9",
40
+ "#F1CEA1",
41
+ "#ECB889",
42
+ "#E7A273",
43
+ "#E38B66",
44
+ "#DE7461",
45
+ "#D45F66",
46
+ "#C44F6F",
47
+ "#AD4573",
48
+ "#943C73",
49
+ "#7C326D",
50
+ "#652964",
51
+ ],
52
+ "dusk": [
53
+ "#F4DDB4",
54
+ "#EFC69B",
55
+ "#EAAF86",
56
+ "#E59777",
57
+ "#E27F74",
58
+ "#DB697B",
59
+ "#CC5887",
60
+ "#B74D95",
61
+ "#9C469C",
62
+ "#813E9B",
63
+ "#663693",
64
+ "#4B2F87",
65
+ ],
66
+ "rose": [
67
+ "#F6DDDC",
68
+ "#F1C9CB",
69
+ "#ECB4BC",
70
+ "#E89FAE",
71
+ "#E589A3",
72
+ "#E17299",
73
+ "#D75E8F",
74
+ "#C35082",
75
+ "#AD4576",
76
+ "#983C69",
77
+ "#83335C",
78
+ "#6F2A4E",
79
+ ],
80
+ "browns": [
81
+ "#F7E6CD",
82
+ "#F3D4B1",
83
+ "#EEC295",
84
+ "#E8AF7B",
85
+ "#E09D64",
86
+ "#D28C57",
87
+ "#C27C4D",
88
+ "#B16E45",
89
+ "#A0603D",
90
+ "#8F5335",
91
+ "#7D462D",
92
+ "#6D3925",
93
+ ],
94
+ "moss": [
95
+ "#F3D9B8",
96
+ "#EDC78B",
97
+ "#D8B76D",
98
+ "#BCA85E",
99
+ "#A09853",
100
+ "#838A48",
101
+ "#677B3E",
102
+ "#4C6C34",
103
+ "#325C2B",
104
+ "#244A28",
105
+ "#1A3924",
106
+ "#11281C",
107
+ ],
108
+ "shoal": [
109
+ "#93F2C9",
110
+ "#84E0C8",
111
+ "#79CEC3",
112
+ "#6EBBBA",
113
+ "#63A9B0",
114
+ "#5997A4",
115
+ "#4E8598",
116
+ "#43748A",
117
+ "#39637E",
118
+ "#2F536F",
119
+ "#254360",
120
+ "#1B3452",
121
+ ],
122
+ "blues2": [ # abyss
123
+ "#BFE6F3",
124
+ "#9DD2EB",
125
+ "#7FBDE3",
126
+ "#64A7DC",
127
+ "#5390D0",
128
+ "#4579C1",
129
+ "#3562B9",
130
+ "#264AC1",
131
+ "#2B3A9F",
132
+ "#292C7C",
133
+ "#231E5B",
134
+ "#19123D",
135
+ ],
136
+ "violets": [
137
+ "#E2D9F4",
138
+ "#D5C3ED",
139
+ "#CAACE8",
140
+ "#C095E3",
141
+ "#B87EDD",
142
+ "#AE65D4",
143
+ "#9E51C2",
144
+ "#8A43A9",
145
+ "#763890",
146
+ "#612D78",
147
+ "#4D2361",
148
+ "#3B194A",
149
+ ],
150
+ "reds2": [
151
+ "#F6D5D5",
152
+ "#F0BABC",
153
+ "#EC9FA2",
154
+ "#E78389",
155
+ "#E36570",
156
+ "#D34C5C",
157
+ "#B6414E",
158
+ "#993541",
159
+ "#7E2A34",
160
+ "#631F27",
161
+ "#4A151B",
162
+ "#320C10",
163
+ ],
164
+ "oranges2": [
165
+ "#FDD5BA",
166
+ "#FDBC90",
167
+ "#FCA262",
168
+ "#FB8720",
169
+ "#DE771B",
170
+ "#C26716",
171
+ "#A75811",
172
+ "#8C490D",
173
+ "#733A08",
174
+ "#5A2D05",
175
+ "#431F03",
176
+ "#2C1301",
177
+ ],
178
+ "yellows2": [
179
+ "#F9ECB8",
180
+ "#F5DC7D",
181
+ "#E0C765",
182
+ "#C8B15A",
183
+ "#B19C4E",
184
+ "#9A8843",
185
+ "#837438",
186
+ "#6E602E",
187
+ "#594E24",
188
+ "#443C1A",
189
+ "#312B11",
190
+ "#1F1A08",
191
+ ],
192
+ "greens2": [
193
+ "#E0FAE0",
194
+ "#B7F6B8",
195
+ "#8AF28F",
196
+ "#76DA7B",
197
+ "#67C06C",
198
+ "#58A75D",
199
+ "#4A8E4E",
200
+ "#3D7640",
201
+ "#305F32",
202
+ "#234925",
203
+ "#173419",
204
+ "#0C200D",
205
+ ],
206
+ "purples2": [
207
+ "#E3D8F4",
208
+ "#D2C1ED",
209
+ "#C2A9E6",
210
+ "#B291E0",
211
+ "#A378DA",
212
+ "#955FD4",
213
+ "#8449C2",
214
+ "#6F3DA4",
215
+ "#5A3187",
216
+ "#47256B",
217
+ "#341950",
218
+ "#220F36",
219
+ ],
220
+ "lavenders2": [
221
+ "#DCDBF5",
222
+ "#C7C4EF",
223
+ "#B3AEEA",
224
+ "#9F97E4",
225
+ "#8D80DF",
226
+ "#7B68D9",
227
+ "#6C4ED4",
228
+ "#5B3CBB",
229
+ "#4A309A",
230
+ "#39257B",
231
+ "#2A195D",
232
+ "#1B0F40",
233
+ ],
234
+ "violets2": [
235
+ "#E9D6F3",
236
+ "#DCBDEB",
237
+ "#CFA4E5",
238
+ "#C28BDE",
239
+ "#B670D7",
240
+ "#A857CC",
241
+ "#904AB0",
242
+ "#793D94",
243
+ "#63317A",
244
+ "#4D2560",
245
+ "#391947",
246
+ "#260F30",
247
+ ],
248
+ "greys2": [
249
+ "#DEDEDE",
250
+ "#CACACA",
251
+ "#B6B6B6",
252
+ "#A3A3A3",
253
+ "#909090",
254
+ "#7D7D7D",
255
+ "#6B6B6B",
256
+ "#5A5A5A",
257
+ "#494949",
258
+ "#393939",
259
+ "#292929",
260
+ "#1B1B1B",
261
+ ],
262
+ "roses2": [
263
+ "#F4D4DE",
264
+ "#EEB9CB",
265
+ "#E99EB8",
266
+ "#E482A6",
267
+ "#E06396",
268
+ "#CA5083",
269
+ "#AE4470",
270
+ "#92385E",
271
+ "#782C4C",
272
+ "#5E213B",
273
+ "#46162A",
274
+ "#2F0C1B",
275
+ ],
276
+ "browns2": [
277
+ "#FBD4C8",
278
+ "#F9BAA6",
279
+ "#F79E83",
280
+ "#F5815E",
281
+ "#F36130",
282
+ "#D55328",
283
+ "#B74620",
284
+ "#9A3A1A",
285
+ "#7E2E13",
286
+ "#64230D",
287
+ "#4A1807",
288
+ "#320D03",
289
+ ],
290
+ "cyans2": [
291
+ "#74F6F7",
292
+ "#69E0E1",
293
+ "#5ECACB",
294
+ "#53B5B6",
295
+ "#49A0A1",
296
+ "#3F8C8C",
297
+ "#357878",
298
+ "#2B6565",
299
+ "#225252",
300
+ "#194040",
301
+ "#102F2F",
302
+ "#081F1F",
303
+ ],
304
+ "magentas2": [
305
+ "#EFD4ED",
306
+ "#E6BAE4",
307
+ "#DEA0DC",
308
+ "#D785D5",
309
+ "#C66FC4",
310
+ "#AD60AB",
311
+ "#955293",
312
+ "#7D447C",
313
+ "#663665",
314
+ "#50294F",
315
+ "#3B1D3A",
316
+ "#271126",
317
+ ],
318
+ "neongreens2": [
319
+ "#7FFE9F",
320
+ "#31FB7D",
321
+ "#2BE370",
322
+ "#26CB64",
323
+ "#20B357",
324
+ "#1B9C4B",
325
+ "#158640",
326
+ "#107034",
327
+ "#0B5B29",
328
+ "#07471F",
329
+ "#043415",
330
+ "#02220B",
331
+ ],
332
+ "blues": [
333
+ "#DFE9F7",
334
+ "#C6D9F1",
335
+ "#ADC8EC",
336
+ "#94B8E6",
337
+ "#7AA8E0",
338
+ "#6097DA",
339
+ "#4D87CA",
340
+ "#4177B1",
341
+ "#386898",
342
+ "#2F597F",
343
+ "#264A69",
344
+ "#1D3A58",
345
+ ],
346
+ "greens": [
347
+ "#CFF8CF",
348
+ "#ACF5AE",
349
+ "#84F28A",
350
+ "#76DC7C",
351
+ "#6AC66F",
352
+ "#5EB162",
353
+ "#529C56",
354
+ "#46874A",
355
+ "#3B733E",
356
+ "#306033",
357
+ "#264D28",
358
+ "#1B3B1D",
359
+ ],
360
+ "purples": [
361
+ "#F1E3F7",
362
+ "#E3CEF1",
363
+ "#D4B9EC",
364
+ "#C6A4E6",
365
+ "#B88FE1",
366
+ "#A87BDB",
367
+ "#9866D5",
368
+ "#8A50CE",
369
+ "#7644B5",
370
+ "#63399C",
371
+ "#502E84",
372
+ "#3E246D",
373
+ ],
374
+ "greys": [
375
+ "#F1F1F1",
376
+ "#DBDBDB",
377
+ "#C6C6C6",
378
+ "#B2B2B2",
379
+ "#9D9D9D",
380
+ "#898989",
381
+ "#767676",
382
+ "#636363",
383
+ "#515151",
384
+ "#404040",
385
+ "#2F2F2F",
386
+ "#1F1F1F",
387
+ ],
388
+ "reds": [
389
+ "#F7E4DC",
390
+ "#F2CEC4",
391
+ "#EDB7AE",
392
+ "#E8A09A",
393
+ "#E48886",
394
+ "#E06F73",
395
+ "#D25965",
396
+ "#BC4A5A",
397
+ "#A33F50",
398
+ "#8B3545",
399
+ "#742B3A",
400
+ "#5E212F",
401
+ ],
402
+ "oranges": [
403
+ "#FFF3EB",
404
+ "#FEE2D0",
405
+ "#FDD1B4",
406
+ "#FDC097",
407
+ "#FCAE78",
408
+ "#FC9C56",
409
+ "#FB8927",
410
+ "#E97D1C",
411
+ "#D67219",
412
+ "#C26716",
413
+ "#B05D12",
414
+ "#9D520F",
415
+ ],
416
+ "yellows": [
417
+ "#FFF6D3",
418
+ "#FEF0B9",
419
+ "#FEEA9E",
420
+ "#FEE380",
421
+ "#FDDD5D",
422
+ "#FCD62C",
423
+ "#F1CC29",
424
+ "#E5C227",
425
+ "#DAB924",
426
+ "#CFAF22",
427
+ "#C4A61F",
428
+ "#B99C1D",
429
+ ],
430
+ "cyans": [
431
+ "#A1F6F5",
432
+ "#86E6E5",
433
+ "#75D4D3",
434
+ "#6AC1C0",
435
+ "#5FAEAE",
436
+ "#559C9C",
437
+ "#4B8B8B",
438
+ "#417979",
439
+ "#376868",
440
+ "#2D5858",
441
+ "#244848",
442
+ "#1B3938",
443
+ ],
444
+ "magentas": [
445
+ "#F6DBF4",
446
+ "#F1C0EE",
447
+ "#EBA4E8",
448
+ "#E688E3",
449
+ "#E068DE",
450
+ "#C758C5",
451
+ "#AD4CAB",
452
+ "#933F91",
453
+ "#793378",
454
+ "#612760",
455
+ "#4A1C49",
456
+ "#341233",
457
+ ],
458
+ "neongreens": [
459
+ "#DFFFE8",
460
+ "#B5FECE",
461
+ "#83FEB3",
462
+ "#32FC97",
463
+ "#2CE589",
464
+ "#27CE7B",
465
+ "#21B76D",
466
+ "#1CA15F",
467
+ "#178C52",
468
+ "#127745",
469
+ "#0D6338",
470
+ "#08502C",
471
+ ],
472
+ "yellowgreen": [
473
+ "#F2EE83",
474
+ "#CEE37A",
475
+ "#ACD770",
476
+ "#8AC867",
477
+ "#68B961",
478
+ "#58A761",
479
+ "#4D945E",
480
+ "#438156",
481
+ "#396E4D",
482
+ "#2E5C42",
483
+ "#244B36",
484
+ "#1B3A2A",
485
+ ],
486
+ "GnBu": [
487
+ "#DDF583",
488
+ "#B7E87A",
489
+ "#93DB85",
490
+ "#75CD99",
491
+ "#67BCAA",
492
+ "#5CA9B2",
493
+ "#5295B2",
494
+ "#4781AB",
495
+ "#3B6D9A",
496
+ "#305B84",
497
+ "#264A6D",
498
+ "#1C3957",
499
+ ],
500
+ "YlGnBu": [
501
+ "#F6E9A2",
502
+ "#D7DC81",
503
+ "#ADD475",
504
+ "#7CCC7B",
505
+ "#65BC91",
506
+ "#5CAAA1",
507
+ "#5295A5",
508
+ "#45809E",
509
+ "#396A8D",
510
+ "#2E5679",
511
+ "#224365",
512
+ "#173152",
513
+ ],
514
+ "candy": [
515
+ "#F8E4E4",
516
+ "#F2CBD1",
517
+ "#EDB2C1",
518
+ "#E899B4",
519
+ "#E37FAC",
520
+ "#D965A6",
521
+ "#C5529E",
522
+ "#A94896",
523
+ "#8C3F91",
524
+ "#703688",
525
+ "#552D7D",
526
+ "#3A2570",
527
+ ],
528
+ # ── Showcase multi-hue sequential (Oklab, 65% gamut chroma, equal arc length) ─
529
+ # Curated keyframe paths through Oklab designed to be perceptually uniform AND
530
+ # aesthetically distinct from the mpl viridis/magma/plasma/inferno family.
531
+ # bluerlagoons: intermediate saturation (chroma scaled to 87.5% of bluestlagoon*).
532
+ # bluelagoons: desaturated companions (chroma scaled to 75% of bluestlagoon*).
533
+ "lagoon": [
534
+ "#081726",
535
+ "#132936",
536
+ "#1E3D46",
537
+ "#295157",
538
+ "#366666",
539
+ "#427C76",
540
+ "#4F9385",
541
+ "#5CAB95",
542
+ "#6AC3A4",
543
+ "#78DCB0",
544
+ "#89F3BA",
545
+ "#C1F7D2",
546
+ ],
547
+ "bluestlagoon": [
548
+ "#11369E",
549
+ "#20448A",
550
+ "#2C558C",
551
+ "#366694",
552
+ "#40779A",
553
+ "#4A88A1",
554
+ "#549AA9",
555
+ "#5EABB2",
556
+ "#68BDB9",
557
+ "#72D0BF",
558
+ "#7DE2C2",
559
+ "#9BF2B7",
560
+ ],
561
+ "bluerlagoon": [
562
+ "#183A93",
563
+ "#264582",
564
+ "#325585",
565
+ "#3D668E",
566
+ "#487695",
567
+ "#52879D",
568
+ "#5D99A6",
569
+ "#68A9AF",
570
+ "#73BBB7",
571
+ "#7ECEBF",
572
+ "#8ADFC3",
573
+ "#A5EFBC",
574
+ ],
575
+ "bluelagoon": [
576
+ "#1F3D88",
577
+ "#2B477A",
578
+ "#38567F",
579
+ "#436688",
580
+ "#4F7690",
581
+ "#5A8699",
582
+ "#6697A2",
583
+ "#71A8AD",
584
+ "#7DB9B6",
585
+ "#89CBBE",
586
+ "#95DDC4",
587
+ "#ADEDC0",
588
+ ],
589
+ "redsblues": [
590
+ "#BC4A5A",
591
+ "#C96872",
592
+ "#D4858B",
593
+ "#DFA1A5",
594
+ "#E8BDBF",
595
+ "#F0DADA",
596
+ "#F6F6F6",
597
+ "#D7E0EB",
598
+ "#B9CBE0",
599
+ "#9BB6D5",
600
+ "#7DA1C9",
601
+ "#5F8CBD",
602
+ "#4177B1",
603
+ ],
604
+ "RdBu": [
605
+ "#7F3745",
606
+ "#9C515E",
607
+ "#B76E79",
608
+ "#C79097",
609
+ "#CFB3B7",
610
+ "#DED6D6",
611
+ "#F6F6F6",
612
+ "#D4D9DE",
613
+ "#ACBECF",
614
+ "#80A5CA",
615
+ "#578BBD",
616
+ "#3770A3",
617
+ "#1A5586",
618
+ ],
619
+ "PuGn": [
620
+ "#584182",
621
+ "#725B9F",
622
+ "#8D78B9",
623
+ "#A696C9",
624
+ "#BDB6CF",
625
+ "#D8D6DD",
626
+ "#F6F6F6",
627
+ "#D3D9D4",
628
+ "#ACC1AE",
629
+ "#80AD86",
630
+ "#599662",
631
+ "#397A45",
632
+ "#1C5F2B",
633
+ ],
634
+ "BrTe": [
635
+ "#6D4330",
636
+ "#8A5C49",
637
+ "#A47865",
638
+ "#BD9584",
639
+ "#D0B5A9",
640
+ "#DED6D3",
641
+ "#F6F6F6",
642
+ "#D2DADC",
643
+ "#A4C1CC",
644
+ "#7AA8B7",
645
+ "#578D9F",
646
+ "#377284",
647
+ "#1B5869",
648
+ ],
649
+ "GdBu": [
650
+ "#674824",
651
+ "#83623D",
652
+ "#9D7D5A",
653
+ "#B79A7C",
654
+ "#CEB8A1",
655
+ "#DDD7D0",
656
+ "#F6F6F6",
657
+ "#D0DADD",
658
+ "#A0C2CE",
659
+ "#79A7B7",
660
+ "#568C9E",
661
+ "#377183",
662
+ "#1A5768",
663
+ ],
664
+ "MgGn": [
665
+ "#67377A",
666
+ "#845197",
667
+ "#9F6FB2",
668
+ "#B88FC9",
669
+ "#C6B2CF",
670
+ "#DBD5DD",
671
+ "#F6F6F6",
672
+ "#D3D9D1",
673
+ "#ACC2A7",
674
+ "#81B078",
675
+ "#5F9654",
676
+ "#407A34",
677
+ "#245E18",
678
+ ],
679
+ "RdYlBu": [
680
+ "#8A3530",
681
+ "#9F564B",
682
+ "#B47667",
683
+ "#C89784",
684
+ "#DAB8A2",
685
+ "#EDD9C0",
686
+ "#FEFCE0",
687
+ "#D7E0D6",
688
+ "#B2C4CC",
689
+ "#8DA9C0",
690
+ "#698EB4",
691
+ "#4572A7",
692
+ "#1E5799",
693
+ ],
694
+ "BrGn": [
695
+ "#7D4816",
696
+ "#92643E",
697
+ "#A68062",
698
+ "#BA9C86",
699
+ "#CEBAAA",
700
+ "#E2D7D0",
701
+ "#F6F6F6",
702
+ "#D1DBD7",
703
+ "#ACC0B9",
704
+ "#89A69C",
705
+ "#668D7F",
706
+ "#427464",
707
+ "#1A5C4A",
708
+ ],
709
+ "PkTe": [
710
+ "#7A3060",
711
+ "#905077",
712
+ "#A57090",
713
+ "#BA91A8",
714
+ "#CEB2C2",
715
+ "#E2D3DC",
716
+ "#F6F6F6",
717
+ "#D1DBD9",
718
+ "#ADC0BD",
719
+ "#89A6A2",
720
+ "#668D87",
721
+ "#43746E",
722
+ "#1A5C55",
723
+ ],
724
+ # ── Diverging — sequential single-hue pairs ───────────────────────────────
725
+ # Outer tips taken from index 7 of each sequential palette (4th from dark
726
+ # end); 13 stops interpolated at equal Oklab arc-length through #F6F6F6.
727
+ "purplesgreens": [
728
+ "#855BBC",
729
+ "#9A74CF",
730
+ "#AA8ED6",
731
+ "#B8A8D4",
732
+ "#CAC2D8",
733
+ "#DEDCE3",
734
+ "#F6F6F6",
735
+ "#DADFDA",
736
+ "#BBCDBB",
737
+ "#99BD99",
738
+ "#73B175",
739
+ "#4DA153",
740
+ "#2C8C38",
741
+ ],
742
+ "lavendersgreens": [
743
+ "#745DBD",
744
+ "#8975D1",
745
+ "#9C8FD5",
746
+ "#AFA8D3",
747
+ "#C5C2D7",
748
+ "#DDDCE2",
749
+ "#F6F6F6",
750
+ "#DBDFDA",
751
+ "#BCCCBC",
752
+ "#9ABC9B",
753
+ "#76AE78",
754
+ "#4DA153",
755
+ "#2C8C38",
756
+ ],
757
+ "lavendersblues": [
758
+ "#7263AB",
759
+ "#867BB8",
760
+ "#9B93C5",
761
+ "#B1ABD2",
762
+ "#C7C4DE",
763
+ "#DEDDEA",
764
+ "#F6F6F6",
765
+ "#D7E0EB",
766
+ "#B9CBE0",
767
+ "#9BB6D5",
768
+ "#7DA1C9",
769
+ "#5F8CBD",
770
+ "#4177B1",
771
+ ],
772
+ "purplesblues": [
773
+ "#8A50CE",
774
+ "#9B6ED7",
775
+ "#AC8ADE",
776
+ "#BEA5E5",
777
+ "#D0C0EC",
778
+ "#E3DBF1",
779
+ "#F6F6F6",
780
+ "#D7E0EB",
781
+ "#B9CBE0",
782
+ "#9BB6D5",
783
+ "#7DA1C9",
784
+ "#5F8CBD",
785
+ "#4177B1",
786
+ ],
787
+ "brownsblues": [
788
+ "#B16E45",
789
+ "#BE8463",
790
+ "#CA9B80",
791
+ "#D5B19D",
792
+ "#E1C8BA",
793
+ "#ECDFD8",
794
+ "#F6F6F6",
795
+ "#D7E0EB",
796
+ "#B9CBE0",
797
+ "#9BB6D5",
798
+ "#7DA1C9",
799
+ "#5F8CBD",
800
+ "#4177B1",
801
+ ],
802
+ "rosesblues": [
803
+ "#C35082",
804
+ "#CE6D94",
805
+ "#D989A7",
806
+ "#E2A4BA",
807
+ "#EABFCE",
808
+ "#F1DBE2",
809
+ "#F6F6F6",
810
+ "#D7E0EB",
811
+ "#B9CBE0",
812
+ "#9BB6D5",
813
+ "#7DA1C9",
814
+ "#5F8CBD",
815
+ "#4177B1",
816
+ ],
817
+ "greysblues": [
818
+ "#636363",
819
+ "#7A7A7A",
820
+ "#919191",
821
+ "#AAAAAA",
822
+ "#C2C2C2",
823
+ "#DCDCDC",
824
+ "#F6F6F6",
825
+ "#D7E0EB",
826
+ "#B9CBE0",
827
+ "#9BB6D5",
828
+ "#7DA1C9",
829
+ "#5F8CBD",
830
+ "#4177B1",
831
+ ],
832
+ "greysreds": [
833
+ "#636363",
834
+ "#7A7A7A",
835
+ "#919191",
836
+ "#AAAAAA",
837
+ "#C2C2C2",
838
+ "#DCDCDC",
839
+ "#F6F6F6",
840
+ "#F0DADA",
841
+ "#E8BDBF",
842
+ "#DFA1A5",
843
+ "#D4858B",
844
+ "#C96872",
845
+ "#BC4A5A",
846
+ ],
847
+ "greyspurples": [
848
+ "#636363",
849
+ "#7A7A7A",
850
+ "#919191",
851
+ "#AAAAAA",
852
+ "#C2C2C2",
853
+ "#DCDCDC",
854
+ "#F6F6F6",
855
+ "#E3DBF1",
856
+ "#D0C0EC",
857
+ "#BEA5E5",
858
+ "#AC8ADE",
859
+ "#9B6ED7",
860
+ "#8A50CE",
861
+ ],
862
+ "greyslavender": [
863
+ "#636363",
864
+ "#7A7A7A",
865
+ "#919191",
866
+ "#AAAAAA",
867
+ "#C2C2C2",
868
+ "#DCDCDC",
869
+ "#F6F6F6",
870
+ "#DEDDEA",
871
+ "#C7C4DE",
872
+ "#B1ABD2",
873
+ "#9B93C5",
874
+ "#867BB8",
875
+ "#7263AB",
876
+ ],
877
+ "greysrose": [
878
+ "#636363",
879
+ "#7A7A7A",
880
+ "#919191",
881
+ "#AAAAAA",
882
+ "#C2C2C2",
883
+ "#DCDCDC",
884
+ "#F6F6F6",
885
+ "#F1DBE2",
886
+ "#EABFCE",
887
+ "#E2A4BA",
888
+ "#D989A7",
889
+ "#CE6D94",
890
+ "#C35082",
891
+ ],
892
+ "greensblues": [
893
+ "#338B3C",
894
+ "#51A056",
895
+ "#78AD7A",
896
+ "#9CBB9C",
897
+ "#BDCCBD",
898
+ "#DBDFDB",
899
+ "#F6F6F6",
900
+ "#DADEE3",
901
+ "#BAC8D8",
902
+ "#97B4D4",
903
+ "#71A1D6",
904
+ "#488DD7",
905
+ "#2876C3",
906
+ ],
907
+ "redsgreens": [
908
+ "#BD4859",
909
+ "#D26471",
910
+ "#DA828A",
911
+ "#D7A2A5",
912
+ "#D9BFC1",
913
+ "#E3DCDC",
914
+ "#F6F6F6",
915
+ "#DADFDA",
916
+ "#BBCCBB",
917
+ "#99BD99",
918
+ "#73B175",
919
+ "#4DA153",
920
+ "#2C8C38",
921
+ ],
922
+ "redscyans": [
923
+ "#BC4A5A",
924
+ "#C96872",
925
+ "#D4858B",
926
+ "#DFA1A5",
927
+ "#E8BDBF",
928
+ "#F0DADA",
929
+ "#F6F6F6",
930
+ "#D7E0E0",
931
+ "#B9CBCB",
932
+ "#9BB6B6",
933
+ "#7DA1A1",
934
+ "#608D8D",
935
+ "#417979",
936
+ ],
937
+ "redslavenders": [
938
+ "#BC4A5A",
939
+ "#C96872",
940
+ "#D4858B",
941
+ "#DFA1A5",
942
+ "#E8BDBF",
943
+ "#F0DADA",
944
+ "#F6F6F6",
945
+ "#DEDDEA",
946
+ "#C7C4DE",
947
+ "#B1ABD2",
948
+ "#9B93C5",
949
+ "#867BB8",
950
+ "#7263AB",
951
+ ],
952
+ "redsviolets": [
953
+ "#BC4A5A",
954
+ "#C96872",
955
+ "#D4858B",
956
+ "#DFA1A5",
957
+ "#E8BDBF",
958
+ "#F0DADA",
959
+ "#F6F6F6",
960
+ "#E4D8EA",
961
+ "#D2BADE",
962
+ "#C09DD1",
963
+ "#AE80C4",
964
+ "#9C62B7",
965
+ "#8A43A9",
966
+ ],
967
+ "redsneongreens": [
968
+ "#BC4A5A",
969
+ "#C96872",
970
+ "#D4858B",
971
+ "#DFA1A5",
972
+ "#E8BDBF",
973
+ "#F0DADA",
974
+ "#F6F6F6",
975
+ "#D7E8DC",
976
+ "#B8DAC2",
977
+ "#98CCA9",
978
+ "#77BE90",
979
+ "#52B078",
980
+ "#1CA15F",
981
+ ],
982
+ "rosescyans": [
983
+ "#C35082",
984
+ "#CE6D94",
985
+ "#D989A7",
986
+ "#E2A4BA",
987
+ "#EABFCE",
988
+ "#F1DBE2",
989
+ "#F6F6F6",
990
+ "#D7E0E0",
991
+ "#B9CBCB",
992
+ "#9BB6B6",
993
+ "#7DA1A1",
994
+ "#608D8D",
995
+ "#417979",
996
+ ],
997
+ "rosesgreens": [
998
+ "#C44F82",
999
+ "#D66A96",
1000
+ "#DC87A8",
1001
+ "#D9A5B8",
1002
+ "#DBC2CA",
1003
+ "#E4DDDF",
1004
+ "#F6F6F6",
1005
+ "#DADFDA",
1006
+ "#BBCDBA",
1007
+ "#97BF98",
1008
+ "#70B473",
1009
+ "#4DA153",
1010
+ "#2C8C38",
1011
+ ],
1012
+ "rosesneongreens": [
1013
+ "#C35082",
1014
+ "#CE6D94",
1015
+ "#D989A7",
1016
+ "#E2A4BA",
1017
+ "#EABFCE",
1018
+ "#F1DBE2",
1019
+ "#F6F6F6",
1020
+ "#D7E8DC",
1021
+ "#B8DAC2",
1022
+ "#98CCA9",
1023
+ "#77BE90",
1024
+ "#52B078",
1025
+ "#1CA15F",
1026
+ ],
1027
+ "orangesblues": [
1028
+ "#E97D1C",
1029
+ "#ED9350",
1030
+ "#F1A775",
1031
+ "#F4BB96",
1032
+ "#F5CFB6",
1033
+ "#F6E3D6",
1034
+ "#F6F6F6",
1035
+ "#D7E0EB",
1036
+ "#B9CBE0",
1037
+ "#9BB6D5",
1038
+ "#7DA1C9",
1039
+ "#5F8CBD",
1040
+ "#4177B1",
1041
+ ],
1042
+ "orangescyans": [
1043
+ "#E97D1C",
1044
+ "#ED9350",
1045
+ "#F1A775",
1046
+ "#F4BB96",
1047
+ "#F5CFB6",
1048
+ "#F6E3D6",
1049
+ "#F6F6F6",
1050
+ "#D7E0E0",
1051
+ "#B9CBCB",
1052
+ "#9BB6B6",
1053
+ "#7DA1A1",
1054
+ "#608D8D",
1055
+ "#417979",
1056
+ ],
1057
+ "orangespurples": [
1058
+ "#E97D1C",
1059
+ "#ED9350",
1060
+ "#F1A775",
1061
+ "#F4BB96",
1062
+ "#F5CFB6",
1063
+ "#F6E3D6",
1064
+ "#F6F6F6",
1065
+ "#E3DBF1",
1066
+ "#D0C0EC",
1067
+ "#BEA5E5",
1068
+ "#AC8ADE",
1069
+ "#9B6ED7",
1070
+ "#8A50CE",
1071
+ ],
1072
+ "orangeslavenders": [
1073
+ "#E97D1C",
1074
+ "#ED9350",
1075
+ "#F1A775",
1076
+ "#F4BB96",
1077
+ "#F5CFB6",
1078
+ "#F6E3D6",
1079
+ "#F6F6F6",
1080
+ "#DEDDEA",
1081
+ "#C7C4DE",
1082
+ "#B1ABD2",
1083
+ "#9B93C5",
1084
+ "#867BB8",
1085
+ "#7263AB",
1086
+ ],
1087
+ "orangesviolets": [
1088
+ "#E97D1C",
1089
+ "#ED9350",
1090
+ "#F1A775",
1091
+ "#F4BB96",
1092
+ "#F5CFB6",
1093
+ "#F6E3D6",
1094
+ "#F6F6F6",
1095
+ "#E4D8EA",
1096
+ "#D2BADE",
1097
+ "#C09DD1",
1098
+ "#AE80C4",
1099
+ "#9C62B7",
1100
+ "#8A43A9",
1101
+ ],
1102
+ "orangesneongreens": [
1103
+ "#E97D1C",
1104
+ "#ED9350",
1105
+ "#F1A775",
1106
+ "#F4BB96",
1107
+ "#F5CFB6",
1108
+ "#F6E3D6",
1109
+ "#F6F6F6",
1110
+ "#D7E8DC",
1111
+ "#B8DAC2",
1112
+ "#98CCA9",
1113
+ "#77BE90",
1114
+ "#52B078",
1115
+ "#1CA15F",
1116
+ ],
1117
+ "yellowsblues": [
1118
+ "#E5C227",
1119
+ "#E8CB5D",
1120
+ "#EBD481",
1121
+ "#EDDDA0",
1122
+ "#F0E6BE",
1123
+ "#F3EEDA",
1124
+ "#F6F6F6",
1125
+ "#D7E0EB",
1126
+ "#B9CBE0",
1127
+ "#9BB6D5",
1128
+ "#7DA1C9",
1129
+ "#5F8CBD",
1130
+ "#4177B1",
1131
+ ],
1132
+ "yellowspurples": [
1133
+ "#E5C227",
1134
+ "#E8CB5D",
1135
+ "#EBD481",
1136
+ "#EDDDA0",
1137
+ "#F0E6BE",
1138
+ "#F3EEDA",
1139
+ "#F6F6F6",
1140
+ "#E3DBF1",
1141
+ "#D0C0EC",
1142
+ "#BEA5E5",
1143
+ "#AC8ADE",
1144
+ "#9B6ED7",
1145
+ "#8A50CE",
1146
+ ],
1147
+ "yellowslavenders": [
1148
+ "#E5C227",
1149
+ "#E8CB5D",
1150
+ "#EBD481",
1151
+ "#EDDDA0",
1152
+ "#F0E6BE",
1153
+ "#F3EEDA",
1154
+ "#F6F6F6",
1155
+ "#DEDDEA",
1156
+ "#C7C4DE",
1157
+ "#B1ABD2",
1158
+ "#9B93C5",
1159
+ "#867BB8",
1160
+ "#7263AB",
1161
+ ],
1162
+ "brownsgreens": [
1163
+ "#BE662B",
1164
+ "#CF7D4A",
1165
+ "#DB956C",
1166
+ "#D9AE96",
1167
+ "#DCC7BB",
1168
+ "#E5DFDB",
1169
+ "#F6F6F6",
1170
+ "#DBE0DB",
1171
+ "#BCCEBC",
1172
+ "#9ABF9B",
1173
+ "#77B279",
1174
+ "#5A9D5E",
1175
+ "#3F8845",
1176
+ ],
1177
+ "brownscyans": [
1178
+ "#B16E45",
1179
+ "#BE8463",
1180
+ "#CA9B80",
1181
+ "#D5B19D",
1182
+ "#E1C8BA",
1183
+ "#ECDFD8",
1184
+ "#F6F6F6",
1185
+ "#D7E0E0",
1186
+ "#B9CBCB",
1187
+ "#9BB6B6",
1188
+ "#7DA1A1",
1189
+ "#608D8D",
1190
+ "#417979",
1191
+ ],
1192
+ "brownsneongreens": [
1193
+ "#B16E45",
1194
+ "#BE8463",
1195
+ "#CA9B80",
1196
+ "#D5B19D",
1197
+ "#E1C8BA",
1198
+ "#ECDFD8",
1199
+ "#F6F6F6",
1200
+ "#D7E8DC",
1201
+ "#B8DAC2",
1202
+ "#98CCA9",
1203
+ "#77BE90",
1204
+ "#52B078",
1205
+ "#1CA15F",
1206
+ ],
1207
+ "magentasneongreens": [
1208
+ "#933F91",
1209
+ "#A55EA2",
1210
+ "#B67CB3",
1211
+ "#C79AC4",
1212
+ "#D7B9D5",
1213
+ "#E7D7E5",
1214
+ "#F6F6F6",
1215
+ "#D7E8DC",
1216
+ "#B8DAC2",
1217
+ "#98CCA9",
1218
+ "#77BE90",
1219
+ "#52B078",
1220
+ "#1CA15F",
1221
+ ],
1222
+ "magentasgreens": [
1223
+ "#8E458C",
1224
+ "#A75FA4",
1225
+ "#BD7BBA",
1226
+ "#D099CD",
1227
+ "#D6B9D4",
1228
+ "#E1D8E0",
1229
+ "#F6F6F6",
1230
+ "#D9E1D9",
1231
+ "#B7D1B7",
1232
+ "#91C692",
1233
+ "#6EB571",
1234
+ "#4DA153",
1235
+ "#2C8C38",
1236
+ ],
1237
+ "magentasblues": [
1238
+ "#933F91",
1239
+ "#A55EA2",
1240
+ "#B67CB3",
1241
+ "#C79AC4",
1242
+ "#D7B9D5",
1243
+ "#E7D7E5",
1244
+ "#F6F6F6",
1245
+ "#D7E0EB",
1246
+ "#B9CBE0",
1247
+ "#9BB6D5",
1248
+ "#7DA1C9",
1249
+ "#5F8CBD",
1250
+ "#4177B1",
1251
+ ],
1252
+ "magentascyans": [
1253
+ "#933F91",
1254
+ "#A55EA2",
1255
+ "#B67CB3",
1256
+ "#C79AC4",
1257
+ "#D7B9D5",
1258
+ "#E7D7E5",
1259
+ "#F6F6F6",
1260
+ "#D7E0E0",
1261
+ "#B9CBCB",
1262
+ "#9BB6B6",
1263
+ "#7DA1A1",
1264
+ "#608D8D",
1265
+ "#417979",
1266
+ ],
1267
+ "violetsoranges": [
1268
+ "#8A43A9",
1269
+ "#9C62B7",
1270
+ "#AE80C4",
1271
+ "#C09DD1",
1272
+ "#D2BADE",
1273
+ "#E4D8EA",
1274
+ "#F6F6F6",
1275
+ "#F6E3D6",
1276
+ "#F5CFB6",
1277
+ "#F4BB96",
1278
+ "#F1A775",
1279
+ "#ED9350",
1280
+ "#E97D1C",
1281
+ ],
1282
+ "violetsyellows": [
1283
+ "#8A43A9",
1284
+ "#9C62B7",
1285
+ "#AE80C4",
1286
+ "#C09DD1",
1287
+ "#D2BADE",
1288
+ "#E4D8EA",
1289
+ "#F6F6F6",
1290
+ "#F3EEDA",
1291
+ "#F0E6BE",
1292
+ "#EDDDA0",
1293
+ "#EBD481",
1294
+ "#E8CB5D",
1295
+ "#E5C227",
1296
+ ],
1297
+ "cyanspurples": [
1298
+ "#417979",
1299
+ "#608D8D",
1300
+ "#7DA1A1",
1301
+ "#9BB6B6",
1302
+ "#B9CBCB",
1303
+ "#D7E0E0",
1304
+ "#F6F6F6",
1305
+ "#E3DBF1",
1306
+ "#D0C0EC",
1307
+ "#BEA5E5",
1308
+ "#AC8ADE",
1309
+ "#9B6ED7",
1310
+ "#8A50CE",
1311
+ ],
1312
+ "cyanslavenders": [
1313
+ "#417979",
1314
+ "#608D8D",
1315
+ "#7DA1A1",
1316
+ "#9BB6B6",
1317
+ "#B9CBCB",
1318
+ "#D7E0E0",
1319
+ "#F6F6F6",
1320
+ "#DEDDEA",
1321
+ "#C7C4DE",
1322
+ "#B1ABD2",
1323
+ "#9B93C5",
1324
+ "#867BB8",
1325
+ "#7263AB",
1326
+ ],
1327
+ "cyansviolets": [
1328
+ "#417979",
1329
+ "#608D8D",
1330
+ "#7DA1A1",
1331
+ "#9BB6B6",
1332
+ "#B9CBCB",
1333
+ "#D7E0E0",
1334
+ "#F6F6F6",
1335
+ "#E4D8EA",
1336
+ "#D2BADE",
1337
+ "#C09DD1",
1338
+ "#AE80C4",
1339
+ "#9C62B7",
1340
+ "#8A43A9",
1341
+ ],
1342
+ "purplesneongreens": [
1343
+ "#8A50CE",
1344
+ "#9B6ED7",
1345
+ "#AC8ADE",
1346
+ "#BEA5E5",
1347
+ "#D0C0EC",
1348
+ "#E3DBF1",
1349
+ "#F6F6F6",
1350
+ "#D7E8DC",
1351
+ "#B8DAC2",
1352
+ "#98CCA9",
1353
+ "#77BE90",
1354
+ "#52B078",
1355
+ "#1CA15F",
1356
+ ],
1357
+ "lavendersneongreens": [
1358
+ "#7263AB",
1359
+ "#867BB8",
1360
+ "#9B93C5",
1361
+ "#B1ABD2",
1362
+ "#C7C4DE",
1363
+ "#DEDDEA",
1364
+ "#F6F6F6",
1365
+ "#D7E8DC",
1366
+ "#B8DAC2",
1367
+ "#98CCA9",
1368
+ "#77BE90",
1369
+ "#52B078",
1370
+ "#1CA15F",
1371
+ ],
1372
+ "greysgreens": [
1373
+ "#636363",
1374
+ "#7A7A7A",
1375
+ "#919191",
1376
+ "#AAAAAA",
1377
+ "#C2C2C2",
1378
+ "#DCDCDC",
1379
+ "#F6F6F6",
1380
+ "#D9E3D9",
1381
+ "#B9D4B9",
1382
+ "#9CC19C",
1383
+ "#80AD81",
1384
+ "#669968",
1385
+ "#4E8551",
1386
+ ],
1387
+ "greysyellows": [
1388
+ "#636363",
1389
+ "#7A7A7A",
1390
+ "#919191",
1391
+ "#AAAAAA",
1392
+ "#C2C2C2",
1393
+ "#DCDCDC",
1394
+ "#F6F6F6",
1395
+ "#F3EEDA",
1396
+ "#F0E6BE",
1397
+ "#EDDDA0",
1398
+ "#EBD481",
1399
+ "#E8CB5D",
1400
+ "#E5C227",
1401
+ ],
1402
+ "greysoranges": [
1403
+ "#636363",
1404
+ "#7A7A7A",
1405
+ "#919191",
1406
+ "#AAAAAA",
1407
+ "#C2C2C2",
1408
+ "#DCDCDC",
1409
+ "#F6F6F6",
1410
+ "#F6E3D6",
1411
+ "#F5CFB6",
1412
+ "#F4BB96",
1413
+ "#F1A775",
1414
+ "#ED9350",
1415
+ "#E97D1C",
1416
+ ],
1417
+ "greyscyans": [
1418
+ "#636363",
1419
+ "#7A7A7A",
1420
+ "#919191",
1421
+ "#AAAAAA",
1422
+ "#C2C2C2",
1423
+ "#DCDCDC",
1424
+ "#F6F6F6",
1425
+ "#D7E0E0",
1426
+ "#B9CBCB",
1427
+ "#9BB6B6",
1428
+ "#7DA1A1",
1429
+ "#608D8D",
1430
+ "#417979",
1431
+ ],
1432
+ "greysmagentas": [
1433
+ "#636363",
1434
+ "#7A7A7A",
1435
+ "#919191",
1436
+ "#AAAAAA",
1437
+ "#C2C2C2",
1438
+ "#DCDCDC",
1439
+ "#F6F6F6",
1440
+ "#E7D7E5",
1441
+ "#D7B9D5",
1442
+ "#C79AC4",
1443
+ "#B67CB3",
1444
+ "#A55EA2",
1445
+ "#933F91",
1446
+ ],
1447
+ "greysviolets": [
1448
+ "#636363",
1449
+ "#7A7A7A",
1450
+ "#919191",
1451
+ "#AAAAAA",
1452
+ "#C2C2C2",
1453
+ "#DCDCDC",
1454
+ "#F6F6F6",
1455
+ "#E4D8EA",
1456
+ "#D2BADE",
1457
+ "#C09DD1",
1458
+ "#AE80C4",
1459
+ "#9C62B7",
1460
+ "#8A43A9",
1461
+ ],
1462
+ "greysneongreens": [
1463
+ "#636363",
1464
+ "#7A7A7A",
1465
+ "#919191",
1466
+ "#AAAAAA",
1467
+ "#C2C2C2",
1468
+ "#DCDCDC",
1469
+ "#F6F6F6",
1470
+ "#D7E8DC",
1471
+ "#B8DAC2",
1472
+ "#98CCA9",
1473
+ "#77BE90",
1474
+ "#52B078",
1475
+ "#1CA15F",
1476
+ ],
1477
+ # mpl_Purples as Oklab starting point — paler/cooler than purples_oklab
1478
+ "lavenders": [
1479
+ "#EFEDF5",
1480
+ "#DAD9EB",
1481
+ "#C6C6E0",
1482
+ "#B3B2D5",
1483
+ "#A19ECA",
1484
+ "#8E8BC1",
1485
+ "#7F78B6",
1486
+ "#7263AB",
1487
+ "#684EA1",
1488
+ "#5C3896",
1489
+ "#4E208B",
1490
+ "#3F007D",
1491
+ ],
1492
+ # --- discrete qualitative — nucleotide chemical identity ---
1493
+ # 5 colors: A, T, G, C, U — chromatogram convention (A=green, T=red, G=gold, C=blue)
1494
+ # U (uracil) violet to distinguish from T.
1495
+ "nucleotides": [
1496
+ "#4D945E", # A — green (greens[6])
1497
+ "#BC4A5A", # T — red (reds[7])
1498
+ "#E5C227", # G — gold (yellows[7])
1499
+ "#4177B1", # C — blue (blues[7])
1500
+ "#9866D5", # U — violet (purples[6])
1501
+ ],
1502
+ # --- discrete qualitative — amino acid biochemical properties (Zappo-inspired) ---
1503
+ # 8 groups: hydrophobic (A,I,L,M,V), aromatic (F,Y,W), positive (R,K),
1504
+ # negative (D,E), polar (S,T,N,Q,H), proline (P), glycine (G), cysteine (C)
1505
+ #
1506
+ # proteins: Zappo-adjusted — blue=negative, green=polar, grey=G, magenta=P
1507
+ "proteins": [
1508
+ "#000000", # hydrophobic — near-black (greys[11]); was #1F1F1F
1509
+ "#FCD62C", # aromatic — yellow (yellows[5])
1510
+ "#BC4A5A", # positive — red (reds[7])
1511
+ "#4177B1", # negative — blue (blues[7])
1512
+ "#4D945E", # polar — green (greens[6])
1513
+ "#AD4CAB", # proline — magenta (magentas[6])
1514
+ "#898989", # glycine — grey (greys[5])
1515
+ "#E97D1C", # cysteine — orange (oranges[7])
1516
+ ],
1517
+ # --- cmocean colormaps (9-color samples at linspace(0,1,9)) ---
1518
+ "cmocean_algae": [
1519
+ "#D6F9CF",
1520
+ "#BCE6B1",
1521
+ "#A0D494",
1522
+ "#82C278",
1523
+ "#5DB161",
1524
+ "#369F54",
1525
+ "#0F8B4D",
1526
+ "#0E7547",
1527
+ "#175F3D",
1528
+ "#194A30",
1529
+ "#173722",
1530
+ "#112414",
1531
+ ],
1532
+ "cmocean_amp": [
1533
+ "#F1ECEC",
1534
+ "#E7D3CC",
1535
+ "#DEB9AD",
1536
+ "#D69F8D",
1537
+ "#CE856C",
1538
+ "#C5694D",
1539
+ "#BA4C33",
1540
+ "#AC2C25",
1541
+ "#921528",
1542
+ "#740F25",
1543
+ "#570D1D",
1544
+ "#3C0911",
1545
+ ],
1546
+ "cmocean_balance": [
1547
+ "#171C42",
1548
+ "#203784",
1549
+ "#285DB3",
1550
+ "#438CBA",
1551
+ "#8AB2C4",
1552
+ "#CDD8DC",
1553
+ "#E9D4CE",
1554
+ "#D6A18F",
1555
+ "#C66B51",
1556
+ "#A53631",
1557
+ "#750E21",
1558
+ "#3C0911",
1559
+ ],
1560
+ "cmocean_curl": [
1561
+ "#141D43",
1562
+ "#19485D",
1563
+ "#227573",
1564
+ "#52A088",
1565
+ "#A3C2A2",
1566
+ "#E2E6DA",
1567
+ "#F3D6CC",
1568
+ "#DFA28B",
1569
+ "#C9696A",
1570
+ "#A03B61",
1571
+ "#6C1A53",
1572
+ "#330D35",
1573
+ ],
1574
+ "cmocean_deep": [
1575
+ "#FDFDCC",
1576
+ "#D2EEB7",
1577
+ "#A5DEA9",
1578
+ "#76CCA2",
1579
+ "#5CB4A3",
1580
+ "#4E9CA0",
1581
+ "#45839B",
1582
+ "#3F6A95",
1583
+ "#40508B",
1584
+ "#3D3B6D",
1585
+ "#34294C",
1586
+ "#271A2C",
1587
+ ],
1588
+ "cmocean_delta": [
1589
+ "#101F3F",
1590
+ "#19417D",
1591
+ "#236CA2",
1592
+ "#4A9AAD",
1593
+ "#93C3BD",
1594
+ "#DCEAC7",
1595
+ "#EBE59F",
1596
+ "#C6B842",
1597
+ "#799B1D",
1598
+ "#387625",
1599
+ "#154D25",
1600
+ "#172312",
1601
+ ],
1602
+ "cmocean_dense": [
1603
+ "#E6F0F0",
1604
+ "#BFDDE7",
1605
+ "#9DC9E3",
1606
+ "#82B2E3",
1607
+ "#7499E4",
1608
+ "#767DDA",
1609
+ "#7861C5",
1610
+ "#7646A9",
1611
+ "#6F2F86",
1612
+ "#601F61",
1613
+ "#4C1440",
1614
+ "#360E24",
1615
+ ],
1616
+ "cmocean_diff": [
1617
+ "#07223F",
1618
+ "#234661",
1619
+ "#4C6A80",
1620
+ "#7D8F9D",
1621
+ "#ADB6BD",
1622
+ "#DEDEDF",
1623
+ "#DFDAD1",
1624
+ "#B9B09B",
1625
+ "#948866",
1626
+ "#6C6339",
1627
+ "#444118",
1628
+ "#1C2206",
1629
+ ],
1630
+ "cmocean_gray": [
1631
+ "#000000",
1632
+ "#020202",
1633
+ "#121212",
1634
+ "#272727",
1635
+ "#3E3D3D",
1636
+ "#575656",
1637
+ "#70706F",
1638
+ "#8A8A89",
1639
+ "#A6A6A5",
1640
+ "#C3C2C1",
1641
+ "#E0E0DF",
1642
+ "#FEFEFD",
1643
+ ],
1644
+ "cmocean_haline": [
1645
+ "#29186B",
1646
+ "#252A8E",
1647
+ "#1A429C",
1648
+ "#0F5B90",
1649
+ "#23718B",
1650
+ "#338888",
1651
+ "#439E84",
1652
+ "#56B47A",
1653
+ "#75C869",
1654
+ "#A8D665",
1655
+ "#D6E376",
1656
+ "#FDEE99",
1657
+ ],
1658
+ "cmocean_ice": [
1659
+ "#030512",
1660
+ "#12132B",
1661
+ "#242449",
1662
+ "#34346C",
1663
+ "#3C4A8F",
1664
+ "#4064AA",
1665
+ "#4681B9",
1666
+ "#579CC3",
1667
+ "#73B7CD",
1668
+ "#98CFD9",
1669
+ "#C1E6E9",
1670
+ "#EAFCFD",
1671
+ ],
1672
+ "cmocean_matter": [
1673
+ "#FDEDB0",
1674
+ "#FBCF95",
1675
+ "#F7B17C",
1676
+ "#F19365",
1677
+ "#E87357",
1678
+ "#D95655",
1679
+ "#C43C5A",
1680
+ "#A92860",
1681
+ "#8A1E62",
1682
+ "#6A195B",
1683
+ "#4B144F",
1684
+ "#2F0F3D",
1685
+ ],
1686
+ "cmocean_oxy": [
1687
+ "#3F0505",
1688
+ "#67060C",
1689
+ "#71302C",
1690
+ "#615452",
1691
+ "#717170",
1692
+ "#8E8D8D",
1693
+ "#ACABAA",
1694
+ "#CBCAC9",
1695
+ "#E5E5D9",
1696
+ "#E6E389",
1697
+ "#E6D42C",
1698
+ "#DCAE19",
1699
+ ],
1700
+ "cmocean_phase": [
1701
+ "#A7770C",
1702
+ "#C65E3B",
1703
+ "#D5476B",
1704
+ "#DB2E9A",
1705
+ "#C73FD1",
1706
+ "#A65BEA",
1707
+ "#7776EB",
1708
+ "#4989C9",
1709
+ "#1C949C",
1710
+ "#399760",
1711
+ "#748D1C",
1712
+ "#A7770C",
1713
+ ],
1714
+ "cmocean_rain": [
1715
+ "#EEEDF2",
1716
+ "#E0D6CD",
1717
+ "#CCC2A9",
1718
+ "#B2B189",
1719
+ "#89A47B",
1720
+ "#5D9672",
1721
+ "#30866D",
1722
+ "#07726D",
1723
+ "#125B67",
1724
+ "#204559",
1725
+ "#242F48",
1726
+ "#211A38",
1727
+ ],
1728
+ "cmocean_solar": [
1729
+ "#331317",
1730
+ "#4E1B1F",
1731
+ "#6B2423",
1732
+ "#873021",
1733
+ "#9F4319",
1734
+ "#B05B15",
1735
+ "#BF7515",
1736
+ "#CA8F19",
1737
+ "#D3AA23",
1738
+ "#D9C630",
1739
+ "#DEE13D",
1740
+ "#E0FD4A",
1741
+ ],
1742
+ "cmocean_speed": [
1743
+ "#FEFCCD",
1744
+ "#F0E4A1",
1745
+ "#DECE74",
1746
+ "#C7B943",
1747
+ "#A3AA22",
1748
+ "#7B9B0E",
1749
+ "#528B16",
1750
+ "#257924",
1751
+ "#11642B",
1752
+ "#144E29",
1753
+ "#183820",
1754
+ "#172312",
1755
+ ],
1756
+ "cmocean_tarn": [
1757
+ "#16230D",
1758
+ "#3E4512",
1759
+ "#756320",
1760
+ "#B17F41",
1761
+ "#D7AA83",
1762
+ "#F0DACA",
1763
+ "#E6E7DB",
1764
+ "#B2C0A0",
1765
+ "#6D9C8B",
1766
+ "#377479",
1767
+ "#164A66",
1768
+ "#0F1E4F",
1769
+ ],
1770
+ "cmocean_tempo": [
1771
+ "#FEF5F4",
1772
+ "#E1E2D6",
1773
+ "#C2D1B9",
1774
+ "#A0C0A0",
1775
+ "#78B18F",
1776
+ "#4E9F84",
1777
+ "#248B7D",
1778
+ "#127576",
1779
+ "#195E6A",
1780
+ "#1B485C",
1781
+ "#18324F",
1782
+ "#141D43",
1783
+ ],
1784
+ "cmocean_thermal": [
1785
+ "#032333",
1786
+ "#0E2D5E",
1787
+ "#2C3684",
1788
+ "#573C9C",
1789
+ "#7B4D90",
1790
+ "#A15A86",
1791
+ "#C56775",
1792
+ "#E4785F",
1793
+ "#F89243",
1794
+ "#FAB541",
1795
+ "#F4D749",
1796
+ "#E7FA5A",
1797
+ ],
1798
+ "cmocean_topo": [
1799
+ "#271A2C",
1800
+ "#3C4378",
1801
+ "#467B98",
1802
+ "#65B5A1",
1803
+ "#64AD86",
1804
+ "#407556",
1805
+ "#1F412B",
1806
+ "#1D371A",
1807
+ "#53642D",
1808
+ "#9F8D4C",
1809
+ "#D8C188",
1810
+ "#F8FDE4",
1811
+ ],
1812
+ "cmocean_turbid": [
1813
+ "#E8F5AB",
1814
+ "#DEDD8D",
1815
+ "#D3C470",
1816
+ "#C8AB56",
1817
+ "#BC9346",
1818
+ "#AC7D3E",
1819
+ "#98683B",
1820
+ "#815739",
1821
+ "#684834",
1822
+ "#4F3A2D",
1823
+ "#382C25",
1824
+ "#221E1B",
1825
+ ],
1826
+ # --- matplotlib colormaps (9-color samples at linspace(0,1,9)) ---
1827
+ # perceptually uniform sequential
1828
+ "mpl_viridis": [
1829
+ "#440154",
1830
+ "#472270",
1831
+ "#433E82",
1832
+ "#38598C",
1833
+ "#2C728E",
1834
+ "#238A8D",
1835
+ "#24A086",
1836
+ "#39B578",
1837
+ "#5DC862",
1838
+ "#96D646",
1839
+ "#CAE02D",
1840
+ "#FDE724",
1841
+ ],
1842
+ "mpl_plasma": [
1843
+ "#0C0786",
1844
+ "#3B0799",
1845
+ "#6208A4",
1846
+ "#8711A3",
1847
+ "#AA2495",
1848
+ "#C24080",
1849
+ "#D7596C",
1850
+ "#E97557",
1851
+ "#F79342",
1852
+ "#FCB532",
1853
+ "#F9D625",
1854
+ "#EFF821",
1855
+ ],
1856
+ "mpl_inferno": [
1857
+ "#000003",
1858
+ "#080222",
1859
+ "#200C4A",
1860
+ "#481064",
1861
+ "#721C6B",
1862
+ "#9B2B62",
1863
+ "#C23E50",
1864
+ "#E35A32",
1865
+ "#F5831A",
1866
+ "#FAAE23",
1867
+ "#FAD858",
1868
+ "#FCFEA4",
1869
+ ],
1870
+ "mpl_magma": [
1871
+ "#000003",
1872
+ "#070321",
1873
+ "#1D1047",
1874
+ "#41136B",
1875
+ "#691E7E",
1876
+ "#942C7F",
1877
+ "#BF3C76",
1878
+ "#E55163",
1879
+ "#F67C62",
1880
+ "#FEA875",
1881
+ "#FED296",
1882
+ "#FBFCBF",
1883
+ ],
1884
+ "mpl_cividis": [
1885
+ "#00224D",
1886
+ "#123165",
1887
+ "#2C426E",
1888
+ "#48516C",
1889
+ "#5F636F",
1890
+ "#757576",
1891
+ "#8C8877",
1892
+ "#A39A74",
1893
+ "#BAAC6C",
1894
+ "#D1BF60",
1895
+ "#E8D250",
1896
+ "#FDE737",
1897
+ ],
1898
+ "mpl_turbo": [
1899
+ "#30123B",
1900
+ "#3F367C",
1901
+ "#465BC4",
1902
+ "#3E8DE7",
1903
+ "#26C0E5",
1904
+ "#2AE4B0",
1905
+ "#94FA56",
1906
+ "#E6D539",
1907
+ "#F89928",
1908
+ "#E65A13",
1909
+ "#B72403",
1910
+ "#7A0402",
1911
+ ],
1912
+ # sequential
1913
+ "mpl_Blues": [
1914
+ "#F7FBFF",
1915
+ "#DBE8F5",
1916
+ "#BDD7EB",
1917
+ "#9AC7DF",
1918
+ "#7BB6D9",
1919
+ "#5DA3D0",
1920
+ "#4090C5",
1921
+ "#2C7CBA",
1922
+ "#1A67AD",
1923
+ "#0A539C",
1924
+ "#084184",
1925
+ "#08306B",
1926
+ ],
1927
+ "mpl_BuGn": [
1928
+ "#F7FCFD",
1929
+ "#D4EEEC",
1930
+ "#B2E1D6",
1931
+ "#8FD3C1",
1932
+ "#6CC4A8",
1933
+ "#50B588",
1934
+ "#39A469",
1935
+ "#28914E",
1936
+ "#167D3A",
1937
+ "#006A2B",
1938
+ "#005723",
1939
+ "#00441B",
1940
+ ],
1941
+ "mpl_BuPu": [
1942
+ "#F7FCFD",
1943
+ "#DAE7F1",
1944
+ "#BDD1E5",
1945
+ "#A0BDDA",
1946
+ "#93A4CD",
1947
+ "#8C8BC0",
1948
+ "#8C71B3",
1949
+ "#8A55A6",
1950
+ "#863795",
1951
+ "#7F107B",
1952
+ "#660562",
1953
+ "#4D004B",
1954
+ ],
1955
+ "mpl_GnBu": [
1956
+ "#F7FCF0",
1957
+ "#D9F0D4",
1958
+ "#BAE3BD",
1959
+ "#96D6BB",
1960
+ "#73C7C6",
1961
+ "#56B7D0",
1962
+ "#40A3CA",
1963
+ "#2E8FBF",
1964
+ "#1C7AB5",
1965
+ "#0866AA",
1966
+ "#085395",
1967
+ "#084081",
1968
+ ],
1969
+ "mpl_Greens": [
1970
+ "#F7FCF5",
1971
+ "#DAF0D5",
1972
+ "#BCE4B6",
1973
+ "#9ED798",
1974
+ "#7EC87E",
1975
+ "#5DB769",
1976
+ "#3CA559",
1977
+ "#299149",
1978
+ "#167D3A",
1979
+ "#006A2B",
1980
+ "#005723",
1981
+ "#00441B",
1982
+ ],
1983
+ "mpl_Greys": [
1984
+ "#FFFFFF",
1985
+ "#E1E1E1",
1986
+ "#C3C3C3",
1987
+ "#A7A7A7",
1988
+ "#8B8B8B",
1989
+ "#707070",
1990
+ "#565656",
1991
+ "#3E3E3E",
1992
+ "#272727",
1993
+ "#121212",
1994
+ "#020202",
1995
+ "#000000",
1996
+ ],
1997
+ "mpl_Oranges": [
1998
+ "#FFF5EB",
1999
+ "#FDE1C6",
2000
+ "#FDCD9E",
2001
+ "#FDB77A",
2002
+ "#FD9E56",
2003
+ "#FA8534",
2004
+ "#F16A16",
2005
+ "#E05407",
2006
+ "#CB4302",
2007
+ "#B13A03",
2008
+ "#973004",
2009
+ "#7F2704",
2010
+ ],
2011
+ "mpl_OrRd": [
2012
+ "#FFF7EC",
2013
+ "#FDE4C1",
2014
+ "#FDCE98",
2015
+ "#FCB57E",
2016
+ "#FC9A65",
2017
+ "#F77E52",
2018
+ "#EE6246",
2019
+ "#E0452F",
2020
+ "#CE2718",
2021
+ "#B60804",
2022
+ "#9A0000",
2023
+ "#7F0000",
2024
+ ],
2025
+ "mpl_PuBu": [
2026
+ "#FFF7FB",
2027
+ "#E7E3EF",
2028
+ "#CED0E5",
2029
+ "#ADC0DC",
2030
+ "#8AB1D4",
2031
+ "#66A2CA",
2032
+ "#3D92C1",
2033
+ "#207EB7",
2034
+ "#046AA8",
2035
+ "#03598C",
2036
+ "#034871",
2037
+ "#023858",
2038
+ ],
2039
+ "mpl_PuBuGn": [
2040
+ "#FFF7FB",
2041
+ "#EBE1EF",
2042
+ "#CED0E5",
2043
+ "#AEC0DC",
2044
+ "#88B3D4",
2045
+ "#60A4CC",
2046
+ "#3D93C0",
2047
+ "#1F87A1",
2048
+ "#007B7D",
2049
+ "#016C5B",
2050
+ "#015948",
2051
+ "#014636",
2052
+ ],
2053
+ "mpl_PuRd": [
2054
+ "#F7F4F9",
2055
+ "#E4DBEB",
2056
+ "#D7C0DD",
2057
+ "#CEA5CF",
2058
+ "#CF88C0",
2059
+ "#DE68B1",
2060
+ "#E44094",
2061
+ "#DA1F70",
2062
+ "#C10D51",
2063
+ "#A10346",
2064
+ "#830034",
2065
+ "#67001F",
2066
+ ],
2067
+ "mpl_Purples": [
2068
+ "#FCFBFD",
2069
+ "#E7E5F1",
2070
+ "#D0D1E6",
2071
+ "#BBBCDB",
2072
+ "#A9A7CF",
2073
+ "#9692C4",
2074
+ "#817EBA",
2075
+ "#7568AF",
2076
+ "#6A52A3",
2077
+ "#5D3B98",
2078
+ "#50218C",
2079
+ "#3F007D",
2080
+ ],
2081
+ "mpl_RdPu": [
2082
+ "#FFF7F3",
2083
+ "#FCDAD7",
2084
+ "#FBBEBD",
2085
+ "#F9A0B5",
2086
+ "#F880A9",
2087
+ "#F15E9E",
2088
+ "#E03C97",
2089
+ "#C5208A",
2090
+ "#A8027D",
2091
+ "#870278",
2092
+ "#670272",
2093
+ "#49006A",
2094
+ ],
2095
+ "mpl_Reds": [
2096
+ "#FFF5F0",
2097
+ "#FDDCCD",
2098
+ "#FDC2AA",
2099
+ "#FCA789",
2100
+ "#FB8A69",
2101
+ "#FA6949",
2102
+ "#F04531",
2103
+ "#DA2823",
2104
+ "#BE1419",
2105
+ "#A00D14",
2106
+ "#830510",
2107
+ "#67000C",
2108
+ ],
2109
+ "mpl_YlGn": [
2110
+ "#FFFFE5",
2111
+ "#F2FAB5",
2112
+ "#D0EC9E",
2113
+ "#ADDC8D",
2114
+ "#88CC7F",
2115
+ "#65BB6E",
2116
+ "#40AA5C",
2117
+ "#30944E",
2118
+ "#1F8041",
2119
+ "#076C38",
2120
+ "#005830",
2121
+ "#004529",
2122
+ ],
2123
+ "mpl_YlGnBu": [
2124
+ "#FFFFD9",
2125
+ "#E2F3B2",
2126
+ "#B6E2B6",
2127
+ "#89D0BA",
2128
+ "#59BDC0",
2129
+ "#33A7C2",
2130
+ "#1D8EBE",
2131
+ "#2073B2",
2132
+ "#2259A5",
2133
+ "#243D97",
2134
+ "#192A7A",
2135
+ "#081D58",
2136
+ ],
2137
+ "mpl_YlOrBr": [
2138
+ "#FFFFE5",
2139
+ "#FEF1B0",
2140
+ "#FED97F",
2141
+ "#FEC04C",
2142
+ "#FEA433",
2143
+ "#F68820",
2144
+ "#E96D12",
2145
+ "#D45606",
2146
+ "#BA4403",
2147
+ "#9F3704",
2148
+ "#822D05",
2149
+ "#662505",
2150
+ ],
2151
+ "mpl_YlOrRd": [
2152
+ "#FFFFCC",
2153
+ "#FEEA9B",
2154
+ "#FED26F",
2155
+ "#FDB651",
2156
+ "#FD9A41",
2157
+ "#FC7C36",
2158
+ "#FC5A2C",
2159
+ "#EE3622",
2160
+ "#D81320",
2161
+ "#BB0026",
2162
+ "#9D0027",
2163
+ "#800026",
2164
+ ],
2165
+ # sequential 2
2166
+ "mpl_afmhot": [
2167
+ "#000000",
2168
+ "#0E0000",
2169
+ "#340000",
2170
+ "#600000",
2171
+ "#8C1100",
2172
+ "#B43700",
2173
+ "#DA5B00",
2174
+ "#FF8101",
2175
+ "#FFB337",
2176
+ "#FFE265",
2177
+ "#FFFFA8",
2178
+ "#FFFFFF",
2179
+ ],
2180
+ "mpl_autumn": [
2181
+ "#FF0000",
2182
+ "#FF3E00",
2183
+ "#FF5B00",
2184
+ "#FF7100",
2185
+ "#FF8500",
2186
+ "#FF9800",
2187
+ "#FFAA00",
2188
+ "#FFBB00",
2189
+ "#FFCC00",
2190
+ "#FFDD00",
2191
+ "#FFEE00",
2192
+ "#FFFF00",
2193
+ ],
2194
+ "mpl_binary": [
2195
+ "#FFFFFF",
2196
+ "#E1E1E1",
2197
+ "#C3C3C3",
2198
+ "#A7A7A7",
2199
+ "#8B8B8B",
2200
+ "#707070",
2201
+ "#565656",
2202
+ "#3E3E3E",
2203
+ "#272727",
2204
+ "#121212",
2205
+ "#020202",
2206
+ "#000000",
2207
+ ],
2208
+ "mpl_bone": [
2209
+ "#000000",
2210
+ "#020204",
2211
+ "#121119",
2212
+ "#262534",
2213
+ "#3C3C53",
2214
+ "#535372",
2215
+ "#687087",
2216
+ "#7E8D9D",
2217
+ "#94ACB3",
2218
+ "#ADCACA",
2219
+ "#D6E4E4",
2220
+ "#FFFFFF",
2221
+ ],
2222
+ "mpl_cool": [
2223
+ "#00FFFF",
2224
+ "#18EBFF",
2225
+ "#2CD6FF",
2226
+ "#3EC2FF",
2227
+ "#55ADFF",
2228
+ "#6998FF",
2229
+ "#7E82FF",
2230
+ "#956DFF",
2231
+ "#AC56FF",
2232
+ "#C53CFF",
2233
+ "#E11EFF",
2234
+ "#FF00FF",
2235
+ ],
2236
+ "mpl_copper": [
2237
+ "#000000",
2238
+ "#030101",
2239
+ "#140B06",
2240
+ "#2B1B11",
2241
+ "#462B1B",
2242
+ "#623D27",
2243
+ "#7F5033",
2244
+ "#9E633F",
2245
+ "#BE774C",
2246
+ "#DF8C59",
2247
+ "#F9A66A",
2248
+ "#FFC77E",
2249
+ ],
2250
+ "mpl_gist_gray": [
2251
+ "#000000",
2252
+ "#020202",
2253
+ "#121212",
2254
+ "#272727",
2255
+ "#3E3E3E",
2256
+ "#565656",
2257
+ "#707070",
2258
+ "#8B8B8B",
2259
+ "#A7A7A7",
2260
+ "#C3C3C3",
2261
+ "#E1E1E1",
2262
+ "#FFFFFF",
2263
+ ],
2264
+ "mpl_gist_heat": [
2265
+ "#000000",
2266
+ "#0B0000",
2267
+ "#2E0000",
2268
+ "#560000",
2269
+ "#810000",
2270
+ "#AF0000",
2271
+ "#D92A00",
2272
+ "#F65901",
2273
+ "#FF8A28",
2274
+ "#FFB774",
2275
+ "#FFDCBA",
2276
+ "#FFFFFF",
2277
+ ],
2278
+ "mpl_gist_yarg": [
2279
+ "#FFFFFF",
2280
+ "#E1E1E1",
2281
+ "#C3C3C3",
2282
+ "#A7A7A7",
2283
+ "#8B8B8B",
2284
+ "#707070",
2285
+ "#565656",
2286
+ "#3E3E3E",
2287
+ "#272727",
2288
+ "#121212",
2289
+ "#020202",
2290
+ "#000000",
2291
+ ],
2292
+ "mpl_gray": [
2293
+ "#000000",
2294
+ "#020202",
2295
+ "#121212",
2296
+ "#272727",
2297
+ "#3E3E3E",
2298
+ "#565656",
2299
+ "#707070",
2300
+ "#8B8B8B",
2301
+ "#A7A7A7",
2302
+ "#C3C3C3",
2303
+ "#E1E1E1",
2304
+ "#FFFFFF",
2305
+ ],
2306
+ "mpl_hot": [
2307
+ "#0A0000",
2308
+ "#310000",
2309
+ "#5D0000",
2310
+ "#8E0000",
2311
+ "#C20100",
2312
+ "#F90600",
2313
+ "#FF6500",
2314
+ "#FF9B00",
2315
+ "#FFCB02",
2316
+ "#FFF905",
2317
+ "#FFFFA5",
2318
+ "#FFFFFF",
2319
+ ],
2320
+ "mpl_pink": [
2321
+ "#1E0000",
2322
+ "#340F0D",
2323
+ "#4A2321",
2324
+ "#613837",
2325
+ "#7B4E4E",
2326
+ "#986262",
2327
+ "#B57876",
2328
+ "#C89488",
2329
+ "#D3B397",
2330
+ "#DFD2A7",
2331
+ "#EDEDC6",
2332
+ "#FFFFFF",
2333
+ ],
2334
+ "mpl_spring": [
2335
+ "#FF00FF",
2336
+ "#FF26DB",
2337
+ "#FF41BE",
2338
+ "#FF5AA7",
2339
+ "#FF6F92",
2340
+ "#FF827D",
2341
+ "#FF966B",
2342
+ "#FFA958",
2343
+ "#FFBD43",
2344
+ "#FFD330",
2345
+ "#FFE91A",
2346
+ "#FFFF00",
2347
+ ],
2348
+ "mpl_summer": [
2349
+ "#007F66",
2350
+ "#1B8C66",
2351
+ "#349866",
2352
+ "#4CA566",
2353
+ "#63B066",
2354
+ "#7ABC66",
2355
+ "#90C766",
2356
+ "#A7D266",
2357
+ "#BDDD66",
2358
+ "#D3E966",
2359
+ "#E9F466",
2360
+ "#FFFF66",
2361
+ ],
2362
+ "mpl_Wistia": [
2363
+ "#E4FF7A",
2364
+ "#EEF658",
2365
+ "#F9EC33",
2366
+ "#FFE116",
2367
+ "#FFD50E",
2368
+ "#FFC907",
2369
+ "#FFBD01",
2370
+ "#FFB100",
2371
+ "#FEA500",
2372
+ "#FE9900",
2373
+ "#FD8C00",
2374
+ "#FC7F00",
2375
+ ],
2376
+ "mpl_winter": [
2377
+ "#0000FF",
2378
+ "#0038E4",
2379
+ "#0054D6",
2380
+ "#006ACA",
2381
+ "#007EC0",
2382
+ "#0090B8",
2383
+ "#00A2AE",
2384
+ "#00B4A6",
2385
+ "#00C69C",
2386
+ "#00D993",
2387
+ "#00EC8A",
2388
+ "#00FF7F",
2389
+ ],
2390
+ # diverging
2391
+ "mpl_BrBG": [
2392
+ "#543005",
2393
+ "#7F4C0D",
2394
+ "#A66D25",
2395
+ "#C6964A",
2396
+ "#DFBF83",
2397
+ "#F1E7CA",
2398
+ "#CBE9E4",
2399
+ "#8BCBC2",
2400
+ "#51A99F",
2401
+ "#29847B",
2402
+ "#065F56",
2403
+ "#003C30",
2404
+ ],
2405
+ "mpl_bwr": [
2406
+ "#0000FF",
2407
+ "#4345FF",
2408
+ "#686DFF",
2409
+ "#8C8EFF",
2410
+ "#ADAFFF",
2411
+ "#CFCFFF",
2412
+ "#F0F0FF",
2413
+ "#FFE7E7",
2414
+ "#FFBEBE",
2415
+ "#FF9392",
2416
+ "#FF6260",
2417
+ "#FF0000",
2418
+ ],
2419
+ "mpl_coolwarm": [
2420
+ "#3A4CC0",
2421
+ "#4E6AD7",
2422
+ "#6587EC",
2423
+ "#82A4F8",
2424
+ "#A2BFFB",
2425
+ "#C7D5EC",
2426
+ "#EACFC1",
2427
+ "#F4AE92",
2428
+ "#EE8A6D",
2429
+ "#DF6550",
2430
+ "#CA3F3A",
2431
+ "#B30326",
2432
+ ],
2433
+ "mpl_PiYG": [
2434
+ "#8E0152",
2435
+ "#B72577",
2436
+ "#D45299",
2437
+ "#E283B7",
2438
+ "#EFB0D3",
2439
+ "#F9DCEC",
2440
+ "#E7F3D7",
2441
+ "#BDE096",
2442
+ "#91C75A",
2443
+ "#66A636",
2444
+ "#448521",
2445
+ "#276419",
2446
+ ],
2447
+ "mpl_PRGn": [
2448
+ "#40004B",
2449
+ "#662673",
2450
+ "#894D98",
2451
+ "#A47BB3",
2452
+ "#C4A7CE",
2453
+ "#E4D4E7",
2454
+ "#E4F1E2",
2455
+ "#A8D8A5",
2456
+ "#6FB773",
2457
+ "#3E914E",
2458
+ "#196A31",
2459
+ "#00441B",
2460
+ ],
2461
+ "mpl_PuOr": [
2462
+ "#7F3B08",
2463
+ "#AE5809",
2464
+ "#D57E25",
2465
+ "#F2AA58",
2466
+ "#FDD8A7",
2467
+ "#F0F0F3",
2468
+ "#C7C6E0",
2469
+ "#A49DC7",
2470
+ "#8574B0",
2471
+ "#694A99",
2472
+ "#4B2476",
2473
+ "#2D004B",
2474
+ ],
2475
+ "mpl_RdBu": [
2476
+ "#67001F",
2477
+ "#9A1A2C",
2478
+ "#C6433F",
2479
+ "#E07961",
2480
+ "#F1AB91",
2481
+ "#F9DCCC",
2482
+ "#D8E8F0",
2483
+ "#99C6DF",
2484
+ "#5FA1CB",
2485
+ "#3479B6",
2486
+ "#18538D",
2487
+ "#053061",
2488
+ ],
2489
+ "mpl_RdGy": [
2490
+ "#67001F",
2491
+ "#9E1D2D",
2492
+ "#CA4D45",
2493
+ "#E6866B",
2494
+ "#F6BCA3",
2495
+ "#FDF0E9",
2496
+ "#DDDDDD",
2497
+ "#B2B2B2",
2498
+ "#888888",
2499
+ "#606060",
2500
+ "#3B3B3B",
2501
+ "#1A1A1A",
2502
+ ],
2503
+ "mpl_RdYlBu": [
2504
+ "#A50026",
2505
+ "#D0342C",
2506
+ "#EB673F",
2507
+ "#FA995A",
2508
+ "#FDCA7D",
2509
+ "#FEF8B7",
2510
+ "#D6EDED",
2511
+ "#A2CEE3",
2512
+ "#77AAD0",
2513
+ "#5386BD",
2514
+ "#405FA9",
2515
+ "#313695",
2516
+ ],
2517
+ "mpl_RdYlGn": [
2518
+ "#A50026",
2519
+ "#CD302C",
2520
+ "#E85E3B",
2521
+ "#F88D51",
2522
+ "#FCBA6F",
2523
+ "#FEE599",
2524
+ "#ECF6A8",
2525
+ "#B9E07A",
2526
+ "#7EC765",
2527
+ "#45A958",
2528
+ "#1B8948",
2529
+ "#006837",
2530
+ ],
2531
+ "mpl_seismic": [
2532
+ "#00004C",
2533
+ "#00009C",
2534
+ "#0101F5",
2535
+ "#475CFF",
2536
+ "#8A8CFF",
2537
+ "#BABFFF",
2538
+ "#F0F0FF",
2539
+ "#FFCFCC",
2540
+ "#FF8D8C",
2541
+ "#FE3931",
2542
+ "#C40000",
2543
+ "#7F0000",
2544
+ ],
2545
+ "mpl_Spectral": [
2546
+ "#9E0142",
2547
+ "#C53549",
2548
+ "#E55F4D",
2549
+ "#F78D52",
2550
+ "#FDBC71",
2551
+ "#FEE89F",
2552
+ "#E2F3A6",
2553
+ "#A5DAA1",
2554
+ "#71BDAB",
2555
+ "#499EB5",
2556
+ "#5278AF",
2557
+ "#5E4FA2",
2558
+ ],
2559
+ # cyclic
2560
+ "mpl_hsv": [
2561
+ "#FF0000",
2562
+ "#FF8700",
2563
+ "#EBCE00",
2564
+ "#7BFF10",
2565
+ "#00FFBC",
2566
+ "#00DFFB",
2567
+ "#00A3FF",
2568
+ "#005CFF",
2569
+ "#770CFD",
2570
+ "#C72BE3",
2571
+ "#FE1BAA",
2572
+ "#FF0017",
2573
+ ],
2574
+ "mpl_twilight": [
2575
+ "#E1D8E2",
2576
+ "#9EB9CA",
2577
+ "#7690C0",
2578
+ "#6163AF",
2579
+ "#5A3192",
2580
+ "#3E1D56",
2581
+ "#48193F",
2582
+ "#7C274F",
2583
+ "#A74C52",
2584
+ "#C07C6C",
2585
+ "#D0AD99",
2586
+ "#E1D8E1",
2587
+ ],
2588
+ "mpl_twilight_shifted": [
2589
+ "#2F1337",
2590
+ "#4C2474",
2591
+ "#5E49A0",
2592
+ "#6479BB",
2593
+ "#86A4C4",
2594
+ "#BEC7D5",
2595
+ "#D9C4BF",
2596
+ "#C99780",
2597
+ "#B7645C",
2598
+ "#933B52",
2599
+ "#651C49",
2600
+ "#2F1436",
2601
+ ],
2602
+ # qualitative
2603
+ "mpl_Accent": [
2604
+ "#7FC97F",
2605
+ "#BEAED4",
2606
+ "#FDC086",
2607
+ "#FFFF99",
2608
+ "#386CB0",
2609
+ "#F0027F",
2610
+ "#BF5B16",
2611
+ "#666666",
2612
+ "#666666",
2613
+ ],
2614
+ "mpl_Dark2": [
2615
+ "#1B9E77",
2616
+ "#D95F02",
2617
+ "#7570B3",
2618
+ "#E7298A",
2619
+ "#66A61E",
2620
+ "#E6AB02",
2621
+ "#A6761D",
2622
+ "#666666",
2623
+ "#666666",
2624
+ ],
2625
+ "mpl_Paired": [
2626
+ "#A6CEE3",
2627
+ "#1F78B4",
2628
+ "#33A02C",
2629
+ "#FB9A99",
2630
+ "#FDBF6F",
2631
+ "#FF7F00",
2632
+ "#6A3D9A",
2633
+ "#FFFF99",
2634
+ "#B15928",
2635
+ ],
2636
+ "mpl_Pastel1": [
2637
+ "#FBB4AE",
2638
+ "#B3CDE3",
2639
+ "#CCEBC5",
2640
+ "#DECBE4",
2641
+ "#FED9A6",
2642
+ "#FFFFCC",
2643
+ "#E5D8BD",
2644
+ "#FDDAEC",
2645
+ "#F2F2F2",
2646
+ ],
2647
+ "mpl_Pastel2": [
2648
+ "#B3E2CD",
2649
+ "#FDCDAC",
2650
+ "#CBD5E8",
2651
+ "#F4CAE4",
2652
+ "#E6F5C9",
2653
+ "#FFF2AE",
2654
+ "#F1E2CC",
2655
+ "#CCCCCC",
2656
+ "#CCCCCC",
2657
+ ],
2658
+ "mpl_Set1": [
2659
+ "#E41A1C",
2660
+ "#377EB8",
2661
+ "#4DAF4A",
2662
+ "#984EA3",
2663
+ "#FF7F00",
2664
+ "#FFFF33",
2665
+ "#A65628",
2666
+ "#F781BF",
2667
+ "#999999",
2668
+ ],
2669
+ "mpl_Set2": [
2670
+ "#66C2A5",
2671
+ "#FC8D62",
2672
+ "#8DA0CB",
2673
+ "#E78AC3",
2674
+ "#A6D854",
2675
+ "#FFD92F",
2676
+ "#E5C494",
2677
+ "#B3B3B3",
2678
+ "#B3B3B3",
2679
+ ],
2680
+ "mpl_Set3": [
2681
+ "#8DD3C7",
2682
+ "#FFFFB3",
2683
+ "#FB8072",
2684
+ "#80B1D3",
2685
+ "#B3DE69",
2686
+ "#FCCDE5",
2687
+ "#BC80BD",
2688
+ "#CCEBC5",
2689
+ "#FFED6F",
2690
+ ],
2691
+ "mpl_tab10": [
2692
+ "#1F77B4",
2693
+ "#FF7F0E",
2694
+ "#2CA02C",
2695
+ "#D62728",
2696
+ "#8C564B",
2697
+ "#E377C2",
2698
+ "#7F7F7F",
2699
+ "#BCBD22",
2700
+ "#17BECF",
2701
+ ],
2702
+ "mpl_tab20": [
2703
+ "#1F77B4",
2704
+ "#FF7F0E",
2705
+ "#98DF8A",
2706
+ "#FF9896",
2707
+ "#8C564B",
2708
+ "#E377C2",
2709
+ "#C7C7C7",
2710
+ "#DBDB8D",
2711
+ "#9EDAE5",
2712
+ ],
2713
+ "mpl_tab20b": [
2714
+ "#393B79",
2715
+ "#6B6ECF",
2716
+ "#8CA252",
2717
+ "#CEDB9C",
2718
+ "#E7BA52",
2719
+ "#843C39",
2720
+ "#E7969C",
2721
+ "#A55194",
2722
+ "#DE9ED6",
2723
+ ],
2724
+ "mpl_tab20c": [
2725
+ "#3182BD",
2726
+ "#9ECAE1",
2727
+ "#FD8D3C",
2728
+ "#FDD0A2",
2729
+ "#A1D99B",
2730
+ "#756BB1",
2731
+ "#DADAEB",
2732
+ "#969696",
2733
+ "#D9D9D9",
2734
+ ],
2735
+ # miscellaneous
2736
+ "mpl_brg": [
2737
+ "#0000FF",
2738
+ "#3E01C3",
2739
+ "#671598",
2740
+ "#8F0D72",
2741
+ "#B80849",
2742
+ "#EB0224",
2743
+ "#D73600",
2744
+ "#AA5F00",
2745
+ "#7D8200",
2746
+ "#61AB00",
2747
+ "#37D400",
2748
+ "#00FF00",
2749
+ ],
2750
+ "mpl_CMRmap": [
2751
+ "#000000",
2752
+ "#03031A",
2753
+ "#151550",
2754
+ "#30278F",
2755
+ "#5D2FB1",
2756
+ "#923585",
2757
+ "#C73E62",
2758
+ "#FD4424",
2759
+ "#E58703",
2760
+ "#E5BD1A",
2761
+ "#E9EA97",
2762
+ "#FFFFFF",
2763
+ ],
2764
+ "mpl_cubehelix": [
2765
+ "#000000",
2766
+ "#03040D",
2767
+ "#151732",
2768
+ "#1B3743",
2769
+ "#1C5849",
2770
+ "#407433",
2771
+ "#887942",
2772
+ "#B67E76",
2773
+ "#D28CB5",
2774
+ "#C6B6ED",
2775
+ "#CBE0EF",
2776
+ "#FFFFFF",
2777
+ ],
2778
+ "mpl_flag": [
2779
+ "#FF0000",
2780
+ "#E10000",
2781
+ "#C30000",
2782
+ "#A70000",
2783
+ "#8B0000",
2784
+ "#700000",
2785
+ "#560000",
2786
+ "#3E0000",
2787
+ "#270000",
2788
+ "#120000",
2789
+ "#030000",
2790
+ "#000000",
2791
+ ],
2792
+ "mpl_gist_earth": [
2793
+ "#000000",
2794
+ "#01030E",
2795
+ "#041434",
2796
+ "#0F2B5F",
2797
+ "#18497A",
2798
+ "#256A7E",
2799
+ "#36876A",
2800
+ "#5EA04B",
2801
+ "#A6AD5C",
2802
+ "#D3B392",
2803
+ "#EAD4C7",
2804
+ "#FDFAFA",
2805
+ ],
2806
+ "mpl_gist_ncar": [
2807
+ "#000080",
2808
+ "#0038E2",
2809
+ "#0087F0",
2810
+ "#00C8D4",
2811
+ "#33F296",
2812
+ "#A3E911",
2813
+ "#F5D514",
2814
+ "#FF8337",
2815
+ "#FA265E",
2816
+ "#D35FE2",
2817
+ "#E5AAFB",
2818
+ "#FEF7FE",
2819
+ ],
2820
+ "mpl_gist_rainbow": [
2821
+ "#FF0028",
2822
+ "#FF8004",
2823
+ "#EFC400",
2824
+ "#C6FF00",
2825
+ "#11FF63",
2826
+ "#00E6C8",
2827
+ "#00BEFF",
2828
+ "#0084FF",
2829
+ "#0035FF",
2830
+ "#6C1DFF",
2831
+ "#B722EB",
2832
+ "#FF00BF",
2833
+ ],
2834
+ "mpl_gist_stern": [
2835
+ "#000000",
2836
+ "#190104",
2837
+ "#4F0A1A",
2838
+ "#8C1935",
2839
+ "#7C395F",
2840
+ "#46468C",
2841
+ "#6A6AD2",
2842
+ "#868CDD",
2843
+ "#9B9E8A",
2844
+ "#BBBB33",
2845
+ "#E1E18F",
2846
+ "#FFFFFF",
2847
+ ],
2848
+ "mpl_gnuplot": [
2849
+ "#000000",
2850
+ "#09001C",
2851
+ "#280057",
2852
+ "#4C0099",
2853
+ "#7102E3",
2854
+ "#9216CD",
2855
+ "#A32881",
2856
+ "#B22423",
2857
+ "#D35600",
2858
+ "#E79100",
2859
+ "#F5C800",
2860
+ "#FFFF00",
2861
+ ],
2862
+ "mpl_gnuplot2": [
2863
+ "#000000",
2864
+ "#000027",
2865
+ "#000070",
2866
+ "#0000C4",
2867
+ "#3A08FF",
2868
+ "#8727F0",
2869
+ "#CB30D2",
2870
+ "#F360A4",
2871
+ "#FF9275",
2872
+ "#FFC645",
2873
+ "#FFF07B",
2874
+ "#FFFFFF",
2875
+ ],
2876
+ "mpl_jet": [
2877
+ "#00007F",
2878
+ "#0000D9",
2879
+ "#0055FF",
2880
+ "#0096FC",
2881
+ "#00CEF2",
2882
+ "#28FFDA",
2883
+ "#ABFF60",
2884
+ "#F3DB0B",
2885
+ "#FF9901",
2886
+ "#FF4500",
2887
+ "#C60F00",
2888
+ "#7F0000",
2889
+ ],
2890
+ "mpl_nipy_spectral": [
2891
+ "#000000",
2892
+ "#100035",
2893
+ "#3B0091",
2894
+ "#3259CA",
2895
+ "#0097B7",
2896
+ "#00B755",
2897
+ "#50EA00",
2898
+ "#D7DF00",
2899
+ "#FD9900",
2900
+ "#EF3300",
2901
+ "#E77D6E",
2902
+ "#CCCCCC",
2903
+ ],
2904
+ "mpl_ocean": [
2905
+ "#007F00",
2906
+ "#005E1C",
2907
+ "#00422F",
2908
+ "#00263E",
2909
+ "#001663",
2910
+ "#003C7D",
2911
+ "#006095",
2912
+ "#2284AD",
2913
+ "#50A6C4",
2914
+ "#8DC4D8",
2915
+ "#C6E2EC",
2916
+ "#FFFFFF",
2917
+ ],
2918
+ "mpl_prism": [
2919
+ "#FF0000",
2920
+ "#FFBF00",
2921
+ "#BCDB79",
2922
+ "#498BB5",
2923
+ "#7A57A8",
2924
+ "#F5486C",
2925
+ "#FFC72E",
2926
+ "#53AC5E",
2927
+ "#8467A9",
2928
+ "#BC54AA",
2929
+ "#FB9A00",
2930
+ "#54FE00",
2931
+ ],
2932
+ "mpl_rainbow": [
2933
+ "#7F00FF",
2934
+ "#5753FB",
2935
+ "#357CF7",
2936
+ "#1EA2F0",
2937
+ "#16C3E6",
2938
+ "#37E3D8",
2939
+ "#77FBB9",
2940
+ "#C6E689",
2941
+ "#F1C26C",
2942
+ "#FF9850",
2943
+ "#FF6734",
2944
+ "#FF0000",
2945
+ ],
2946
+ "mpl_terrain": [
2947
+ "#333399",
2948
+ "#286CD2",
2949
+ "#009ED0",
2950
+ "#00C08C",
2951
+ "#7BE37D",
2952
+ "#F5FB96",
2953
+ "#D5C882",
2954
+ "#AA916B",
2955
+ "#815D56",
2956
+ "#AA908B",
2957
+ "#D3C6C4",
2958
+ "#FFFFFF",
2959
+ ],
2960
+ }
2961
+
2962
+
2963
+ def palette(
2964
+ name: str,
2965
+ n: int | None = None,
2966
+ start: int = 0,
2967
+ end: int | None = None,
2968
+ step: int = 1,
2969
+ reverse: bool = False,
2970
+ ) -> list[str]:
2971
+ """
2972
+ Sample colors from a named palette with control over start, stop, and spacing.
2973
+
2974
+ When ``n`` is provided, evenly samples ``n`` colors between ``start`` and
2975
+ ``stop`` (linspace). Otherwise, returns every ``step``-th color from
2976
+ ``start`` to ``stop`` — with default ``step=1`` this returns the full slice.
2977
+
2978
+ Parameters
2979
+ ----------
2980
+ name:
2981
+ Key in the ``colors`` dict (e.g. ``"mpl_YlGnBu"``).
2982
+ n:
2983
+ Number of colors to return (evenly spaced). Takes priority over ``step``.
2984
+ start:
2985
+ Index of the first color to include. Defaults to 0.
2986
+ end:
2987
+ Index of the last color to include (inclusive). Defaults to the last
2988
+ index in the palette.
2989
+ step:
2990
+ Step between color indices. Defaults to 1 (every color).
2991
+ reverse:
2992
+ If True, reverse the returned list.
2993
+
2994
+ Examples
2995
+ --------
2996
+ All colors in the palette:
2997
+
2998
+ palette("mpl_YlGnBu")
2999
+
3000
+ Last 4 colors:
3001
+
3002
+ palette("mpl_YlGnBu", start=5)
3003
+
3004
+ Four evenly-spaced colors across the full palette:
3005
+
3006
+ palette("mpl_YlGnBu", n=4)
3007
+
3008
+ Every second color from index 0 to 6 (returns indices 0, 2, 4, 6):
3009
+
3010
+ palette("mpl_YlGnBu", end=6, step=2)
3011
+
3012
+ Four evenly-spaced colors, reversed:
3013
+
3014
+ palette("mpl_YlGnBu", n=4, reverse=True)
3015
+ """
3016
+ palette = colors[name]
3017
+ total = len(palette)
3018
+ if end is None:
3019
+ end = total - 1
3020
+
3021
+ if n is not None:
3022
+ if n == 1:
3023
+ indices = [start]
3024
+ else:
3025
+ indices = [round(start + i * (end - start) / (n - 1)) for i in range(n)]
3026
+ else:
3027
+ indices = list(range(start, end + 1, step))
3028
+
3029
+ result = [palette[i] for i in indices]
3030
+ return result[::-1] if reverse else result