Skip to content

Commit 3dabd58

Browse files
authored
Merge pull request #85 from rmarkello/colors
2 parents aac5da5 + 758113c commit 3dabd58

File tree

1 file changed

+109
-0
lines changed

1 file changed

+109
-0
lines changed

netneurotools/colors.py

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
Useful colormaps
4+
"""
5+
6+
from matplotlib.colors import LinearSegmentedColormap, ListedColormap
7+
8+
__all__ = ['parula', 'justine', 'dinosaur']
9+
10+
11+
parula = LinearSegmentedColormap.from_list(
12+
'parula',
13+
['#352A87', '#363093', '#3637A0', '#353DAD', '#3243BA', '#2C4AC7',
14+
'#2053D4', '#0F5CDD', '#0363E1', '#0268E1', '#046DE0', '#0871DE',
15+
'#0D75DC', '#1079DA', '#127DD8', '#1481D6', '#1485D4', '#1389D3',
16+
'#108ED2', '#0C93D2', '#0998D1', '#079CCF', '#06A0CD', '#06A4CA',
17+
'#06A7C6', '#07A9C2', '#0AACBE', '#0FAEB9', '#15B1B4', '#1DB3AF',
18+
'#25B5A9', '#2EB7A4', '#38B99E', '#42BB98', '#4DBC92', '#59BD8C',
19+
'#65BE86', '#71BF80', '#7CBF7B', '#87BF77', '#92BF73', '#9CBF6F',
20+
'#A5BE6B', '#AEBE67', '#B7BD64', '#C0BC60', '#C8BC5D', '#D1BB59',
21+
'#D9BA56', '#E1B952', '#E9B94E', '#F1B94A', '#F8BB44', '#FDBE3D',
22+
'#FFC337', '#FEC832', '#FCCE2E', '#FAD32A', '#F7D826', '#F5DE21',
23+
'#F5E41D', '#F5EB18', '#F6F313', '#F9FB0E']
24+
)
25+
26+
27+
justine = ListedColormap(
28+
['#3855A5', '#3857A6', '#3958A8', '#395AA9', '#395BAB', '#3A5DAC',
29+
'#3A5EAD', '#3A60AF', '#3B61B0', '#3B63B1', '#3B65B3', '#3C66B4',
30+
'#3C68B6', '#3D69B7', '#3D6BB8', '#3D6CBA', '#3E6EBB', '#3E6FBC',
31+
'#3E71BE', '#3F73BF', '#3F74C1', '#3F76C2', '#4077C3', '#4079C5',
32+
'#407AC6', '#417CC8', '#417DC9', '#417FCA', '#4281CC', '#4282CD',
33+
'#4284CE', '#4385D0', '#4387D1', '#4488D3', '#448AD4', '#448BD5',
34+
'#458DD7', '#458FD8', '#4590D9', '#4692DB', '#4693DC', '#4695DE',
35+
'#4796DF', '#4798E0', '#4799E2', '#489BE3', '#489DE5', '#489EE6',
36+
'#49A0E7', '#49A1E9', '#49A3EA', '#4AA4EB', '#4AA6ED', '#4BA7EE',
37+
'#4BA9F0', '#4BABF1', '#4CACF2', '#4CAEF4', '#4CAFF5', '#4DB1F6',
38+
'#4DB2F8', '#4DB4F9', '#4EB5FB', '#4EB7FC', '#51B8FC', '#54B9FC',
39+
'#56BAFC', '#59BBFC', '#5CBDFC', '#5FBEFC', '#61BFFC', '#64C0FC',
40+
'#67C1FC', '#6AC2FC', '#6CC3FD', '#6FC5FD', '#72C6FD', '#75C7FD',
41+
'#77C8FD', '#7AC9FD', '#7DCAFD', '#80CBFD', '#83CCFD', '#85CDFD',
42+
'#88CFFD', '#8BD0FD', '#8ED1FD', '#90D2FD', '#93D3FD', '#96D4FD',
43+
'#99D5FD', '#9BD7FD', '#9ED8FD', '#A1D9FD', '#A4DAFD', '#A6DBFE',
44+
'#A9DCFE', '#ACDDFE', '#AFDEFE', '#B2DFFE', '#B4E1FE', '#B7E2FE',
45+
'#BAE3FE', '#BDE4FE', '#BFE5FE', '#C2E6FE', '#C5E7FE', '#C8E8FE',
46+
'#CAEAFE', '#CDEBFE', '#D0ECFE', '#D3EDFE', '#D6EEFE', '#D8EFFE',
47+
'#DBF0FE', '#DEF2FE', '#E1F3FE', '#E3F4FF', '#E6F5FF', '#E9F6FF',
48+
'#ECF7FF', '#EEF8FF', '#F1F9FF', '#F4FAFF', '#F7FCFF', '#F9FDFF',
49+
'#FCFEFF', '#FFFFFF', '#FFFEFC', '#FFFDF9', '#FFFCF7', '#FFFBF4',
50+
'#FFF9F1', '#FFF8EE', '#FFF7EC', '#FFF6E9', '#FFF5E6', '#FFF4E3',
51+
'#FFF3E1', '#FFF2DE', '#FFF0DB', '#FFEFD8', '#FFEED6', '#FFEDD3',
52+
'#FFECD0', '#FFEBCD', '#FFEACB', '#FFE9C8', '#FFE7C5', '#FFE6C2',
53+
'#FFE5C0', '#FFE4BD', '#FFE3BA', '#FFE2B7', '#FFE1B5', '#FFE0B2',
54+
'#FFDFAF', '#FFDDAC', '#FFDCAA', '#FFDBA7', '#FFD9A3', '#FFD79F',
55+
'#FFD59C', '#FFD398', '#FFD194', '#FECF90', '#FECE8C', '#FECC88',
56+
'#FECA85', '#FEC881', '#FEC67D', '#FEC479', '#FEC275', '#FEC072',
57+
'#FEBE6E', '#FEBC6A', '#FEBA66', '#FDB862', '#FDB65F', '#FDB45B',
58+
'#FDB257', '#FDB053', '#FDAE4F', '#FDAC4C', '#FDAA48', '#FDA844',
59+
'#FDA740', '#FDA53C', '#FDA339', '#FCA135', '#FC9F31', '#FC9D2D',
60+
'#FC9B29', '#FC9926', '#FC9722', '#FC951E', '#FB921E', '#FB901F',
61+
'#FA8D1F', '#F98A1F', '#F9871F', '#F88520', '#F88220', '#F77F20',
62+
'#F67D21', '#F67A21', '#F57721', '#F47521', '#F47222', '#F36F22',
63+
'#F26C22', '#F26A22', '#F16723', '#F16423', '#F06223', '#EF5F24',
64+
'#EF5C24', '#EE5A24', '#ED5724', '#ED5425', '#EC5125', '#EB4F25',
65+
'#EB4C26', '#EA4926', '#EA4726', '#E94426', '#E84127', '#E83E27',
66+
'#E73C27', '#E63928', '#E63628', '#E53428', '#E43128', '#E42E29',
67+
'#E32C29', '#E22929', '#E22629', '#DF2528', '#DD2427', '#DB2326',
68+
'#D82225', '#D62123', '#D42022', '#D11F21', '#CF1E20', '#CD1D1E',
69+
'#CA1C1D', '#C81A1C', '#C6191B', '#C31819', '#C11718', '#BE1617',
70+
'#BC1516', '#BA1414', '#B71313', '#B51212'],
71+
'justine'
72+
)
73+
74+
75+
# https://doi.org/10.1038/s41586-022-04770-6
76+
dinosaur = LinearSegmentedColormap.from_list(
77+
'dinosaur',
78+
['#02B2CE', '#0DB3C4', '#18B4BB', '#24B6B2', '#2FB7A9', '#3AB8A0',
79+
'#46BA97', '#51BB8E', '#5CBC85', '#68BE7C', '#73BF73', '#7EC06A',
80+
'#8AC261', '#95C358', '#A1C44F', '#ACC645', '#B7C73C', '#C3C833',
81+
'#CECA2A', '#D9CB21', '#E5CC18', '#F0CE0F', '#FBCF06', '#FECD04',
82+
'#FDC805', '#FDC405', '#FCC006', '#FBBC07', '#FBB807', '#FAB408',
83+
'#FAB009', '#F9AC09', '#F8A80A', '#F8A40B', '#F79F0C', '#F69B0C',
84+
'#F6970D', '#F5930E', '#F48F0E', '#F48B0F', '#F38710', '#F38310',
85+
'#F27F11', '#F17B12', '#F17612', '#F07213', '#EF6E14', '#EF6A14',
86+
'#EE6615', '#ED6216', '#ED5E17', '#EC5A17', '#EC5618', '#EB5219',
87+
'#EA4D19', '#EA491A', '#E9451B', '#E8411B', '#E83D1C', '#E7391D',
88+
'#E6351D', '#E6311E', '#E52D1F', '#E52920']
89+
)
90+
91+
92+
def available_cmaps():
93+
""" Returns list of available colormaps in module
94+
"""
95+
96+
return __all__.copy()
97+
98+
99+
def _register_cmaps():
100+
""" Registers all colormaps in module so they are accessible via matplotlib
101+
"""
102+
103+
from matplotlib.cm import register_cmap
104+
105+
for cmap in __all__:
106+
register_cmap(cmap, globals()[cmap])
107+
108+
109+
_register_cmaps()

0 commit comments

Comments
 (0)