function map = f_rainbow(m)
% color map

map_nc=[
254 8 0
255 5 0
254 8 0
255 14 0
254 17 0
255 23 0
254 26 0
255 32 0
254 35 0
255 41 0
254 44 0
255 50 0
254 53 0
255 59 0
254 62 0
255 68 0
254 71 0
255 77 0
254 80 0
255 86 0
254 89 0
255 95 0
254 98 0
255 104 0
254 107 0
255 113 0
254 116 0
255 122 0
254 125 0
255 131 0
254 134 0
255 139 0
254 143 0
255 148 0
254 152 0
255 157 0
254 161 0
255 166 0
254 170 0
255 175 0
254 179 0
255 184 0
254 188 0
255 193 0
254 197 0
255 202 0
254 206 0
255 211 0
254 215 0
255 220 0
254 224 0
255 229 0
254 233 0
255 238 0
254 242 0
255 247 0
254 251 0
253 255 0
248 254 0
243 255 0
239 254 0
234 255 0
230 254 0
225 255 0
221 254 0
216 255 0
212 254 0
207 255 0
203 254 0
198 255 0
194 254 0
189 255 0
185 254 0
180 255 0
176 254 0
171 255 0
167 254 0
162 255 0
158 254 0
153 255 0
149 254 0
144 255 0
140 254 0
135 255 0
131 254 0
126 255 0
122 254 0
118 255 0
112 254 0
109 255 0
103 254 0
100 255 0
94 254 0
91 255 0
85 254 0
82 255 0
76 254 0
73 255 0
67 254 0
64 255 0
58 254 0
55 255 0
49 254 0
46 255 0
40 254 0
37 255 0
31 254 0
28 255 0
22 254 0
19 255 0
13 254 0
10 255 0
4 254 0
1 255 0
0 254 3
0 255 8
0 254 12
0 255 17
0 254 21
0 255 26
0 254 30
0 255 35
0 254 39
0 255 44
0 254 48
0 255 53
0 254 57
0 255 62
0 254 66
0 255 71
0 254 75
0 255 80
0 254 84
0 255 89
0 254 93
0 255 98
0 254 102
0 255 107
0 254 111
0 255 116
0 254 120
0 255 125
0 254 129
0 255 133
0 254 138
0 255 142
0 254 147
0 255 151
0 254 156
0 255 160
0 254 165
0 255 169
0 254 174
0 255 178
0 254 183
0 255 187
0 254 192
0 255 196
0 254 201
0 255 205
0 254 210
0 255 214
0 254 219
0 255 223
0 254 228
0 255 232
0 254 237
0 255 241
0 254 246
0 255 250
0 253 254
0 249 255
0 244 254
0 240 255
0 235 254
0 230 255
0 226 254
0 221 255
0 217 254
0 212 255
0 208 254
0 203 255
0 199 254
0 194 255
0 190 254
0 185 255
0 181 254
0 176 255
0 172 254
0 167 255
0 163 254
0 158 255
0 154 254
0 149 255
0 145 254
0 140 255
0 136 254
0 131 255
0 127 254
0 122 255
0 118 254
0 114 255
0 109 254
0 105 255
0 100 254
0 96 255
0 91 254
0 87 255
0 82 254
0 78 255
0 73 254
0 69 255
0 64 254
0 60 255
0 55 254
0 51 255
0 46 254
0 42 255
0 37 254
0 33 255
0 28 254
0 24 255
0 19 254
0 15 255
0 10 254
0 6 255
0 1 254
3 0 255
6 0 254
12 0 255
15 0 254
21 0 255
24 0 254
30 0 255
33 0 254
39 0 255
42 0 254
48 0 255
51 0 254
57 0 255
60 0 254
66 0 255
69 0 254
75 0 255
78 0 254
84 0 255
87 0 254
93 0 255
96 0 254
102 0 255
105 0 254
111 0 255
114 0 254
120 0 255
124 0 255
124 0 255
]./255;

if nargin < 1, m = size(get(gcf,'colormap'),1); end

xi = (1:m)'.*(256/m);

r = interp1(map_nc(:,1), xi, '*linear');
g = interp1(map_nc(:,2), xi, '*linear');
b = interp1(map_nc(:,3), xi, '*linear');

map = [r g b];
