几种颜色映射方案的解析式

类别:    标签: 颜色   阅读次数:   版权: (CC) BY-NC-SA

在做三维数据的填色表面图时, 需要使用颜色映射方案, 将一定范围内的数值映射成一定的颜色来显示. 可用的颜色映射方案很多很多, 但并不是所有的方案都适合用来展示数据. 我前面有篇博文数据展示:请选择好的颜色映射方案对此有些说明, 可做参考.

在这篇博文中, 我首先推荐一篇有关颜色设计的资料Good Colour Maps: How to Design Them, 供需要使用颜色映射的人参考.

传统的颜色映射方案, 给出的都是一定范围内的离散数据, 使用中有时需要进行插值, 不是很方便在程序中使用. 一种解决办法是将其拟合成解析表达式. 拟合时, 我们一般使用比较简单的函数, 如高斯函数, 二次, 三次函数等. 下面我给出一些常用颜色映射方案解析表达式的拟合结果.

下面是几种常见常用的颜色映射图, 大家可根据自己的需要来选.

网络资料

gnuplot所用的颜色映射公式

* there are 37 available rgb color mapping formulae:
         0: 0               1: 0.5             2: 1
         3: x               4: x^2             5: x^3
         6: x^4             7: sqrt(x)         8: sqrt(sqrt(x))
         9: sin(90x)       10: cos(90x)       11: |x-0.5|
        12: (2x-1)^2       13: sin(180x)      14: |cos(180x)|
        15: sin(360x)      16: cos(360x)      17: |sin(360x)|
        18: |cos(360x)|    19: |sin(720x)|    20: |cos(720x)|
        21: 3x             22: 3x-1           23: 3x-2
        24: |3x-1|         25: |3x-2|         26: (3x-1)/2
        27: (3x-2)/2       28: |(3x-1)/2|     29: |(3x-2)/2|
        30: x/0.32-0.78125 31: 2*x-0.84       32: 4x;1;-2x+1.84;x/0.08-11.5
        33: |2*x - 0.5|    34: 2*x            35: 2*x - 0.5
        36: 2*x - 1
      * negative numbers mean inverted=negative colour component
      * thus the ranges in `set pm3d rgbformulae` are -36..36

代码

下面是几种颜色映射方案拟合的gnuplot代码.

cmFit.gpl
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
$data <<EOD
  #f           rainbow_bgyr_35-85_c72_n256                Viridis                   f        Parula(http://tex.stackexchange.com/questions/232690/) Diverging-CoolWarm
  #    http://peterkovesi.com/projects/colourmaps/ https://github.com/BIDS/colormap/blob/master/colormaps.py             http://www.kennethmoreland.com/color-maps/
  0.000000000 0.000000000 0.203870000 0.962510000  0.267004 0.004874 0.329415  0.000000000 0.208100 0.166300 0.529200  0.000000000 0.229805700 0.298717966 0.753683153
  0.003921569 0.000000000 0.215240000 0.951400000  0.268510 0.009605 0.335427  0.015873000 0.211600 0.189800 0.577700  0.003906250 0.234299935 0.305559204 0.759874796
  0.007843137 0.000000000 0.226130000 0.940310000  0.269944 0.014625 0.341379  0.031746000 0.212300 0.213800 0.627000  0.007812500 0.238810063 0.312388385 0.766005866
  0.011764706 0.000000000 0.236540000 0.929230000  0.271305 0.019942 0.347269  0.047619000 0.208100 0.238600 0.677100  0.011718750 0.243336663 0.319205292 0.772075394
  0.015686275 0.000000000 0.246540000 0.918170000  0.272594 0.025563 0.353093  0.063492100 0.195900 0.264500 0.727900  0.015625000 0.247880265 0.326009656 0.778082421
  0.019607843 0.000000000 0.256200000 0.907120000  0.273809 0.031497 0.358853  0.079365100 0.170700 0.291900 0.779200  0.019531250 0.252441360 0.332801165 0.784026001
  0.023529412 0.000000000 0.265570000 0.896080000  0.274952 0.037752 0.364543  0.095238100 0.125300 0.324200 0.830300  0.023437500 0.257020396 0.339579464 0.789905199
  0.027450980 0.000000000 0.274650000 0.885060000  0.276022 0.044167 0.370164  0.111111000 0.059100 0.359800 0.868300  0.027343750 0.261617779 0.346344164 0.795719090
  0.031372549 0.000000000 0.283480000 0.874050000  0.277018 0.050344 0.375715  0.126984000 0.011700 0.387500 0.882000  0.031250000 0.266233880 0.353094838 0.801466763
  0.035294118 0.000000000 0.292090000 0.863050000  0.277941 0.056324 0.381191  0.142857000 0.006000 0.408600 0.882800  0.035156250 0.270869029 0.359831032 0.807147315
  0.039215686 0.000000000 0.300470000 0.852060000  0.278791 0.062145 0.386592  0.158730000 0.016500 0.426600 0.878600  0.039062500 0.275523523 0.366552260 0.812759858
  0.043137255 0.000000000 0.308700000 0.841090000  0.279566 0.067836 0.391917  0.174603000 0.032900 0.443000 0.872000  0.042968750 0.280197620 0.373258014 0.818303516
  0.047058824 0.000000000 0.316720000 0.830130000  0.280267 0.073417 0.397163  0.190476000 0.049800 0.458600 0.864100  0.046875000 0.284891546 0.379947761 0.823777422
  0.050980392 0.000000000 0.324580000 0.819170000  0.280894 0.078907 0.402329  0.206349000 0.062900 0.473700 0.855400  0.050781250 0.289605495 0.386620945 0.829180725
  0.054901961 0.000000000 0.332320000 0.808230000  0.281446 0.084320 0.407414  0.222222000 0.072300 0.488700 0.846700  0.054687500 0.294339624 0.393276993 0.834512584
  0.058823529 0.000000000 0.339900000 0.797300000  0.281924 0.089666 0.412415  0.238095000 0.077900 0.504000 0.838400  0.058593750 0.299094064 0.399915313 0.839772171
  0.062745098 0.000000000 0.347360000 0.786380000  0.282327 0.094955 0.417331  0.253968000 0.079300 0.520000 0.831200  0.062500000 0.303868910 0.406535296 0.844958670
  0.066666667 0.000000000 0.354700000 0.775460000  0.282656 0.100196 0.422160  0.269841000 0.074900 0.537500 0.826300  0.066406250 0.308664231 0.413136319 0.850071279
  0.070588235 0.000000000 0.361910000 0.764560000  0.282910 0.105393 0.426902  0.285714000 0.064100 0.557000 0.824000  0.070312500 0.313480065 0.419717745 0.855109207
  0.074509804 0.000000000 0.369020000 0.753670000  0.283091 0.110553 0.431554  0.301587000 0.048800 0.577200 0.822800  0.074218750 0.318316422 0.426278924 0.860071679
  0.078431373 0.000000000 0.376020000 0.742800000  0.283197 0.115680 0.436115  0.317460000 0.034300 0.596600 0.819900  0.078125000 0.323173283 0.432819194 0.864957929
  0.082352941 0.000000000 0.382910000 0.731930000  0.283229 0.120777 0.440584  0.333333000 0.026500 0.613700 0.813500  0.082031250 0.328050603 0.439337884 0.869767207
  0.086274510 0.000000000 0.389690000 0.721080000  0.283187 0.125848 0.444960  0.349206000 0.023900 0.628700 0.803800  0.085937500 0.332948312 0.445834313 0.874498775
  0.090196078 0.000000000 0.396360000 0.710260000  0.283072 0.130895 0.449241  0.365079000 0.023100 0.641800 0.791300  0.089843750 0.337866311 0.452307790 0.879151910
  0.094117647 0.000000000 0.402920000 0.699460000  0.282884 0.135920 0.453427  0.380952000 0.022800 0.653500 0.776800  0.093750000 0.342804478 0.458757618 0.883725899
  0.098039216 0.000000000 0.409340000 0.688720000  0.282623 0.140926 0.457517  0.396825000 0.026700 0.664200 0.760700  0.097656250 0.347762667 0.465183092 0.888220047
  0.101960784 0.000000000 0.415610000 0.678020000  0.282290 0.145912 0.461510  0.412698000 0.038400 0.674300 0.743600  0.101562500 0.352740705 0.471583499 0.892633669
  0.105882353 0.000000000 0.421720000 0.667380000  0.281887 0.150881 0.465405  0.428571000 0.059000 0.683800 0.725400  0.105468750 0.357738399 0.477958123 0.896966095
  0.109803922 0.000000000 0.427680000 0.656840000  0.281412 0.155834 0.469201  0.444444000 0.084300 0.692800 0.706200  0.109375000 0.362755532 0.484306241 0.901216670
  0.113725490 0.000000000 0.433420000 0.646390000  0.280868 0.160771 0.472899  0.460317000 0.113300 0.701500 0.685900  0.113281250 0.367791863 0.490627125 0.905384751
  0.117647059 0.000000000 0.438960000 0.636050000  0.280255 0.165693 0.476498  0.476190000 0.145300 0.709800 0.664600  0.117187500 0.372847134 0.496920043 0.909469711
  0.121568627 0.000000000 0.444320000 0.625830000  0.279574 0.170599 0.479997  0.492063000 0.180100 0.717700 0.642400  0.121093750 0.377921060 0.503184261 0.913470934
  0.125490196 0.000000000 0.449450000 0.615750000  0.278826 0.175490 0.483397  0.507937000 0.217800 0.725000 0.619300  0.125000000 0.383013340 0.509419040 0.917387822
  0.129411765 0.000000000 0.454380000 0.605790000  0.278012 0.180367 0.486697  0.523810000 0.258600 0.731700 0.595400  0.128906250 0.388123650 0.515623638 0.921219788
  0.133333333 0.000000000 0.459110000 0.595970000  0.277134 0.185228 0.489898  0.539683000 0.302200 0.737600 0.571200  0.132812500 0.393251650 0.521797312 0.924966262
  0.137254902 0.004337700 0.463670000 0.586270000  0.276194 0.190074 0.493001  0.555556000 0.348200 0.742400 0.547300  0.136718750 0.398396976 0.527939316 0.928626686
  0.141176471 0.029615000 0.468070000 0.576680000  0.275191 0.194905 0.496005  0.571429000 0.395300 0.745900 0.524400  0.140625000 0.403559250 0.534048902 0.932200518
  0.145098039 0.055795000 0.472350000 0.567170000  0.274128 0.199721 0.498911  0.587302000 0.442000 0.748100 0.503300  0.144531250 0.408738074 0.540125323 0.935687230
  0.149019608 0.077065000 0.476520000 0.557740000  0.273006 0.204520 0.501721  0.603175000 0.487100 0.749100 0.484000  0.148437500 0.413933033 0.546167829 0.939086309
  0.152941176 0.095292000 0.480610000 0.548370000  0.271828 0.209303 0.504434  0.619048000 0.530000 0.749100 0.466100  0.152343750 0.419143694 0.552175668 0.942397257
  0.156862745 0.111190000 0.484650000 0.539030000  0.270595 0.214069 0.507052  0.634921000 0.570900 0.748500 0.449400  0.156250000 0.424369608 0.558148092 0.945619588
  0.160784314 0.125300000 0.488650000 0.529710000  0.269308 0.218818 0.509577  0.650794000 0.609900 0.747300 0.433700  0.160156250 0.429610311 0.564084349 0.948752835
  0.164705882 0.137990000 0.492620000 0.520400000  0.267968 0.223549 0.512008  0.666667000 0.647300 0.745600 0.418800  0.164062500 0.434865321 0.569983690 0.951796543
  0.168627451 0.149370000 0.496580000 0.511100000  0.266580 0.228262 0.514349  0.682540000 0.683400 0.743500 0.404400  0.167968750 0.440134144 0.575845364 0.954750272
  0.172549020 0.159630000 0.500550000 0.501790000  0.265145 0.232956 0.516599  0.698413000 0.718400 0.741100 0.390500  0.171875000 0.445416268 0.581668623 0.957613599
  0.176470588 0.169000000 0.504520000 0.492440000  0.263663 0.237631 0.518762  0.714286000 0.752500 0.738400 0.376800  0.175781250 0.450711169 0.587452719 0.960386113
  0.180392157 0.177470000 0.508490000 0.483090000  0.262138 0.242286 0.520837  0.730159000 0.785800 0.735600 0.363300  0.179687500 0.456018308 0.593196905 0.963067420
  0.184313725 0.185170000 0.512460000 0.473700000  0.260571 0.246922 0.522828  0.746032000 0.818500 0.732700 0.349800  0.183593750 0.461337134 0.598900436 0.965657140
  0.188235294 0.192170000 0.516450000 0.464290000  0.258965 0.251537 0.524736  0.761905000 0.850700 0.729900 0.336000  0.187500000 0.466667080 0.604562568 0.968154911
  0.192156863 0.198560000 0.520460000 0.454830000  0.257322 0.256130 0.526563  0.777778000 0.882400 0.727400 0.321700  0.191406250 0.472007569 0.610182560 0.970560381
  0.196078431 0.204430000 0.524480000 0.445310000  0.255645 0.260703 0.528312  0.793651000 0.913900 0.725800 0.306300  0.195312500 0.477358011 0.615759672 0.972873218
  0.200000000 0.209740000 0.528510000 0.435770000  0.253935 0.265254 0.529983  0.809524000 0.945000 0.726100 0.288600  0.199218750 0.482717804 0.621293167 0.975093102
  0.203921569 0.214610000 0.532550000 0.426160000  0.252194 0.269783 0.531579  0.825397000 0.973900 0.731400 0.266600  0.203125000 0.488086336 0.626782311 0.977219730
  0.207843137 0.219050000 0.536610000 0.416510000  0.250425 0.274290 0.533103  0.841270000 0.993800 0.745500 0.240300  0.207031250 0.493462982 0.632226371 0.979252813
  0.211764706 0.223090000 0.540660000 0.406790000  0.248629 0.278775 0.534556  0.857143000 0.999000 0.765300 0.216400  0.210937500 0.498847107 0.637624618 0.981192078
  0.215686275 0.226740000 0.544740000 0.397000000  0.246811 0.283237 0.535941  0.873016000 0.995500 0.786100 0.196700  0.214843750 0.504238066 0.642976326 0.983037268
  0.219607843 0.230020000 0.548830000 0.387130000  0.244972 0.287675 0.537260  0.888889000 0.988000 0.806600 0.179400  0.218750000 0.509635204 0.648280772 0.984788140
  0.223529412 0.233000000 0.552920000 0.377200000  0.243113 0.292092 0.538516  0.904762000 0.978900 0.827100 0.163300  0.222656250 0.515037856 0.653537236 0.986444467
  0.227450980 0.235680000 0.557030000 0.367160000  0.241237 0.296485 0.539709  0.920635000 0.969700 0.848100 0.147500  0.226562500 0.520445349 0.658745003 0.988006036
  0.231372549 0.238020000 0.561140000 0.357040000  0.239346 0.300855 0.540844  0.936508000 0.962600 0.870500 0.130900  0.230468750 0.525857000 0.663903360 0.989472652
  0.235294118 0.240060000 0.565260000 0.346780000  0.237441 0.305202 0.541921  0.952381000 0.958900 0.894900 0.113200  0.234375000 0.531272118 0.669011598 0.990844132
  0.239215686 0.241850000 0.569390000 0.336400000  0.235526 0.309527 0.542944  0.968254000 0.959800 0.921800 0.094800  0.238281250 0.536690004 0.674069012 0.992120310
  0.243137255 0.243340000 0.573540000 0.325880000  0.233603 0.313828 0.543914  0.984127000 0.966100 0.951400 0.075500  0.242187500 0.542109949 0.679074903 0.993301037
  0.247058824 0.244580000 0.577690000 0.315230000  0.231674 0.318106 0.544834  1.000000000 0.976300 0.983100 0.053800  0.246093750 0.547531240 0.684028574 0.994386177
  0.250980392 0.245560000 0.581850000 0.304390000  0.229739 0.322361 0.545706  N/A         N/A      N/A      N/A       0.250000000 0.552953156 0.688929332 0.995375608
  0.254901961 0.246300000 0.586030000 0.293360000  0.227802 0.326594 0.546532  N/A         N/A      N/A      N/A       0.253906250 0.558374965 0.693776492 0.996269227
  0.258823529 0.246800000 0.590190000 0.282140000  0.225863 0.330805 0.547314  N/A         N/A      N/A      N/A       0.257812500 0.563795935 0.698569369 0.997066945
  0.262745098 0.247070000 0.594380000 0.270670000  0.223925 0.334994 0.548053  N/A         N/A      N/A      N/A       0.261718750 0.569215322 0.703307287 0.997768685
  0.266666667 0.247140000 0.598560000 0.258960000  0.221989 0.339161 0.548752  N/A         N/A      N/A      N/A       0.265625000 0.574632379 0.707989572 0.998374390
  0.270588235 0.247030000 0.602750000 0.246960000  0.220057 0.343307 0.549413  N/A         N/A      N/A      N/A       0.269531250 0.580046354 0.712615557 0.998884016
  0.274509804 0.246790000 0.606930000 0.234730000  0.218130 0.347432 0.550038  N/A         N/A      N/A      N/A       0.273437500 0.585456486 0.717184578 0.999297533
  0.278431373 0.246470000 0.611090000 0.222160000  0.216210 0.351535 0.550627  N/A         N/A      N/A      N/A       0.277343750 0.590862011 0.721695979 0.999614929
  0.282352941 0.246150000 0.615230000 0.209360000  0.214298 0.355619 0.551184  N/A         N/A      N/A      N/A       0.281250000 0.596262162 0.726149107 0.999836203
  0.286274510 0.245950000 0.619360000 0.196320000  0.212395 0.359683 0.551710  N/A         N/A      N/A      N/A       0.285156250 0.601656165 0.730543315 0.999961374
  0.290196078 0.246000000 0.623420000 0.183040000  0.210503 0.363727 0.552206  N/A         N/A      N/A      N/A       0.289062500 0.607043242 0.734877964 0.999990472
  0.294117647 0.246440000 0.627420000 0.169690000  0.208623 0.367752 0.552675  N/A         N/A      N/A      N/A       0.292968750 0.612422610 0.739152418 0.999923544
  0.298039216 0.247480000 0.631350000 0.156300000  0.206756 0.371758 0.553117  N/A         N/A      N/A      N/A       0.296875000 0.617793485 0.743366047 0.999760652
  0.301960784 0.249250000 0.635180000 0.142990000  0.204903 0.375746 0.553533  N/A         N/A      N/A      N/A       0.300781250 0.623155076 0.747518228 0.999501871
  0.305882353 0.251960000 0.638900000 0.130010000  0.203063 0.379716 0.553925  N/A         N/A      N/A      N/A       0.304687500 0.628506592 0.751608345 0.999147293
  0.309803922 0.255700000 0.642490000 0.117410000  0.201239 0.383670 0.554294  N/A         N/A      N/A      N/A       0.308593750 0.633847237 0.755635786 0.998697024
  0.313725490 0.260570000 0.645940000 0.105570000  0.199430 0.387607 0.554642  N/A         N/A      N/A      N/A       0.312500000 0.639176211 0.759599947 0.998151185
  0.317647059 0.266590000 0.649260000 0.094696000  0.197636 0.391528 0.554969  N/A         N/A      N/A      N/A       0.316406250 0.644492714 0.763500228 0.997509910
  0.321568627 0.273720000 0.652420000 0.084904000  0.195860 0.395433 0.555276  N/A         N/A      N/A      N/A       0.320312500 0.649795942 0.767336039 0.996773351
  0.325490196 0.281820000 0.655450000 0.076489000  0.194100 0.399323 0.555565  N/A         N/A      N/A      N/A       0.324218750 0.655085089 0.771106793 0.995941671
  0.329411765 0.290780000 0.658350000 0.069753000  0.192357 0.403199 0.555836  N/A         N/A      N/A      N/A       0.328125000 0.660359348 0.774811913 0.995015049
  0.333333333 0.300430000 0.661130000 0.064513000  0.190631 0.407061 0.556089  N/A         N/A      N/A      N/A       0.332031250 0.665617908 0.778450826 0.993993679
  0.337254902 0.310610000 0.663830000 0.060865000  0.188923 0.410910 0.556326  N/A         N/A      N/A      N/A       0.335937500 0.670859959 0.782022968 0.992877768
  0.341176471 0.321120000 0.666420000 0.058721000  0.187231 0.414746 0.556547  N/A         N/A      N/A      N/A       0.339843750 0.676084688 0.785527780 0.991667539
  0.345098039 0.331860000 0.668960000 0.057692000  0.185556 0.418570 0.556753  N/A         N/A      N/A      N/A       0.343750000 0.681291281 0.788964712 0.990363227
  0.349019608 0.342720000 0.671440000 0.057693000  0.183898 0.422383 0.556944  N/A         N/A      N/A      N/A       0.347656250 0.686478925 0.792333219 0.988965083
  0.352941176 0.353560000 0.673880000 0.058443000  0.182256 0.426184 0.557120  N/A         N/A      N/A      N/A       0.351562500 0.691646803 0.795632765 0.987473371
  0.356862745 0.364390000 0.676280000 0.059738000  0.180629 0.429975 0.557282  N/A         N/A      N/A      N/A       0.355468750 0.696794099 0.798862821 0.985888369
  0.360784314 0.375120000 0.678660000 0.061142000  0.179019 0.433756 0.557430  N/A         N/A      N/A      N/A       0.359375000 0.701919999 0.802022864 0.984210369
  0.364705882 0.385750000 0.681020000 0.062974000  0.177423 0.437527 0.557565  N/A         N/A      N/A      N/A       0.363281250 0.707023684 0.805112381 0.982439677
  0.368627451 0.396270000 0.683370000 0.064759000  0.175841 0.441290 0.557685  N/A         N/A      N/A      N/A       0.367187500 0.712104339 0.808130864 0.980576612
  0.372549020 0.406660000 0.685710000 0.066664000  0.174274 0.445044 0.557792  N/A         N/A      N/A      N/A       0.371093750 0.717161148 0.811077814 0.978621507
  0.376470588 0.416920000 0.688030000 0.068644000  0.172719 0.448791 0.557885  N/A         N/A      N/A      N/A       0.375000000 0.722193294 0.813952739 0.976574709
  0.380392157 0.427070000 0.690340000 0.070512000  0.171176 0.452530 0.557965  N/A         N/A      N/A      N/A       0.378906250 0.727199962 0.816755156 0.974436577
  0.384313725 0.437090000 0.692660000 0.072423000  0.169646 0.456262 0.558030  N/A         N/A      N/A      N/A       0.382812500 0.732180337 0.819484590 0.972207484
  0.388235294 0.447010000 0.694940000 0.074359000  0.168126 0.459988 0.558082  N/A         N/A      N/A      N/A       0.386718750 0.737133606 0.822140570 0.969887816
  0.392156863 0.456830000 0.697230000 0.076211000  0.166617 0.463708 0.558119  N/A         N/A      N/A      N/A       0.390625000 0.742058956 0.824722639 0.967477972
  0.396078431 0.466570000 0.699500000 0.078090000  0.165117 0.467423 0.558141  N/A         N/A      N/A      N/A       0.394531250 0.746955574 0.827230344 0.964978364
  0.400000000 0.476210000 0.701770000 0.079998000  0.163625 0.471133 0.558148  N/A         N/A      N/A      N/A       0.398437500 0.751822652 0.829663241 0.962389418
  0.403921569 0.485770000 0.704030000 0.081943000  0.162142 0.474838 0.558140  N/A         N/A      N/A      N/A       0.402343750 0.756659379 0.832020895 0.959711569
  0.407843137 0.495270000 0.706290000 0.083778000  0.160665 0.478540 0.558115  N/A         N/A      N/A      N/A       0.406250000 0.761464949 0.834302879 0.956945269
  0.411764706 0.504700000 0.708530000 0.085565000  0.159194 0.482237 0.558073  N/A         N/A      N/A      N/A       0.410156250 0.766238556 0.836508774 0.954090980
  0.415686275 0.514050000 0.710760000 0.087502000  0.157729 0.485932 0.558013  N/A         N/A      N/A      N/A       0.414062500 0.770979397 0.838638169 0.951149176
  0.419607843 0.523350000 0.712980000 0.089316000  0.156270 0.489624 0.557936  N/A         N/A      N/A      N/A       0.417968750 0.775686671 0.840690662 0.948120345
  0.423529412 0.532590000 0.715200000 0.091171000  0.154815 0.493313 0.557840  N/A         N/A      N/A      N/A       0.421875000 0.780359577 0.842665861 0.945004985
  0.427450980 0.541760000 0.717400000 0.092931000  0.153364 0.497000 0.557724  N/A         N/A      N/A      N/A       0.425781250 0.784997320 0.844563380 0.941803607
  0.431372549 0.550900000 0.719600000 0.094839000  0.151918 0.500685 0.557587  N/A         N/A      N/A      N/A       0.429687500 0.789599105 0.846382843 0.938516733
  0.435294118 0.559990000 0.721780000 0.096566000  0.150476 0.504369 0.557430  N/A         N/A      N/A      N/A       0.433593750 0.794164140 0.848123884 0.935144898
  0.439215686 0.569020000 0.723960000 0.098445000  0.149039 0.508051 0.557250  N/A         N/A      N/A      N/A       0.437500000 0.798691636 0.849786142 0.931688648
  0.443137255 0.578020000 0.726130000 0.100230000  0.147607 0.511733 0.557049  N/A         N/A      N/A      N/A       0.441406250 0.803180808 0.851369270 0.928148539
  0.447058824 0.586980000 0.728280000 0.102040000  0.146180 0.515413 0.556823  N/A         N/A      N/A      N/A       0.445312500 0.807630872 0.852872925 0.924525140
  0.450980392 0.595900000 0.730440000 0.103850000  0.144759 0.519093 0.556572  N/A         N/A      N/A      N/A       0.449218750 0.812041048 0.854296776 0.920819030
  0.454901961 0.604790000 0.732580000 0.105640000  0.143343 0.522773 0.556295  N/A         N/A      N/A      N/A       0.453125000 0.816410560 0.855640499 0.917030798
  0.458823529 0.613630000 0.734710000 0.107440000  0.141935 0.526453 0.555991  N/A         N/A      N/A      N/A       0.457031250 0.820738635 0.856903782 0.913161047
  0.462745098 0.622460000 0.736830000 0.109250000  0.140536 0.530132 0.555659  N/A         N/A      N/A      N/A       0.460937500 0.825024503 0.858086320 0.909210387
  0.466666667 0.631250000 0.738950000 0.111020000  0.139147 0.533812 0.555298  N/A         N/A      N/A      N/A       0.464843750 0.829267397 0.859187816 0.905179440
  0.470588235 0.640010000 0.741040000 0.112820000  0.137770 0.537492 0.554906  N/A         N/A      N/A      N/A       0.468750000 0.833466556 0.860207984 0.901068838
  0.474509804 0.648740000 0.743150000 0.114520000  0.136408 0.541173 0.554483  N/A         N/A      N/A      N/A       0.472656250 0.837621221 0.861146547 0.896879224
  0.478431373 0.657450000 0.745230000 0.116360000  0.135066 0.544853 0.554029  N/A         N/A      N/A      N/A       0.476562500 0.841730637 0.862003236 0.892611249
  0.482352941 0.666130000 0.747310000 0.118130000  0.133743 0.548535 0.553541  N/A         N/A      N/A      N/A       0.480468750 0.845794055 0.862777795 0.888265576
  0.486274510 0.674790000 0.749370000 0.119860000  0.132444 0.552216 0.553018  N/A         N/A      N/A      N/A       0.484375000 0.849810727 0.863469972 0.883842876
  0.490196078 0.683430000 0.751440000 0.121610000  0.131172 0.555899 0.552459  N/A         N/A      N/A      N/A       0.488281250 0.853779913 0.864079527 0.879343830
  0.494117647 0.692050000 0.753480000 0.123380000  0.129933 0.559582 0.551864  N/A         N/A      N/A      N/A       0.492187500 0.857700874 0.864606232 0.874769128
  0.498039216 0.700650000 0.755520000 0.125170000  0.128729 0.563265 0.551229  N/A         N/A      N/A      N/A       0.496093750 0.861572878 0.865049863 0.870119469
  0.501960784 0.709230000 0.757550000 0.126910000  0.127568 0.566949 0.550556  N/A         N/A      N/A      N/A       0.500000000 0.865395197 0.865410210 0.865395561
  0.505882353 0.717790000 0.759570000 0.128680000  0.126453 0.570633 0.549841  N/A         N/A      N/A      N/A       0.503906250 0.869777490 0.863633958 0.859948576
  0.509803922 0.726330000 0.761580000 0.130480000  0.125394 0.574318 0.549086  N/A         N/A      N/A      N/A       0.507812500 0.874064226 0.861776352 0.854466231
  0.513725490 0.734870000 0.763590000 0.132210000  0.124395 0.578002 0.548287  N/A         N/A      N/A      N/A       0.511718750 0.878255583 0.859837644 0.848949435
  0.517647059 0.743380000 0.765590000 0.133960000  0.123463 0.581687 0.547445  N/A         N/A      N/A      N/A       0.515625000 0.882351728 0.857818097 0.843399101
  0.521568627 0.751880000 0.767560000 0.135680000  0.122606 0.585371 0.546557  N/A         N/A      N/A      N/A       0.519531250 0.886352818 0.855717980 0.837816138
  0.525490196 0.760370000 0.769540000 0.137470000  0.121831 0.589055 0.545623  N/A         N/A      N/A      N/A       0.523437500 0.890259000 0.853537573 0.832201453
  0.529411765 0.768840000 0.771510000 0.139170000  0.121148 0.592739 0.544641  N/A         N/A      N/A      N/A       0.527343750 0.894070410 0.851277164 0.826555954
  0.533333333 0.777310000 0.773460000 0.140970000  0.120565 0.596422 0.543611  N/A         N/A      N/A      N/A       0.531250000 0.897787179 0.848937047 0.820880546
  0.537254902 0.785760000 0.775410000 0.142690000  0.120092 0.600104 0.542530  N/A         N/A      N/A      N/A       0.535156250 0.901409427 0.846517528 0.815176131
  0.541176471 0.794200000 0.777360000 0.144440000  0.119738 0.603785 0.541400  N/A         N/A      N/A      N/A       0.539062500 0.904937269 0.844018919 0.809443611
  0.545098039 0.802620000 0.779280000 0.146170000  0.119512 0.607464 0.540218  N/A         N/A      N/A      N/A       0.542968750 0.908370816 0.841441541 0.803683885
  0.549019608 0.811050000 0.781200000 0.147910000  0.119423 0.611141 0.538982  N/A         N/A      N/A      N/A       0.546875000 0.911710171 0.838785722 0.797897850
  0.552941176 0.819450000 0.783110000 0.149670000  0.119483 0.614817 0.537692  N/A         N/A      N/A      N/A       0.550781250 0.914955433 0.836051799 0.792086401
  0.556862745 0.827860000 0.785020000 0.151380000  0.119699 0.618490 0.536347  N/A         N/A      N/A      N/A       0.554687500 0.918106696 0.833240115 0.786250429
  0.560784314 0.836260000 0.786910000 0.153110000  0.120081 0.622161 0.534946  N/A         N/A      N/A      N/A       0.558593750 0.921164054 0.830351023 0.780390824
  0.564705882 0.844650000 0.788800000 0.154860000  0.120638 0.625828 0.533488  N/A         N/A      N/A      N/A       0.562500000 0.924127593 0.827384882 0.774508472
  0.568627451 0.853040000 0.790660000 0.156620000  0.121380 0.629492 0.531973  N/A         N/A      N/A      N/A       0.566406250 0.926997401 0.824342058 0.768604257
  0.572549020 0.861410000 0.792510000 0.158350000  0.122312 0.633153 0.530398  N/A         N/A      N/A      N/A       0.570312500 0.929773562 0.821222926 0.762679060
  0.576470588 0.869780000 0.794340000 0.160020000  0.123444 0.636809 0.528763  N/A         N/A      N/A      N/A       0.574218750 0.932456159 0.818027865 0.756733758
  0.580392157 0.878140000 0.796120000 0.161780000  0.124780 0.640461 0.527068  N/A         N/A      N/A      N/A       0.578125000 0.935045272 0.814757264 0.750769226
  0.584313725 0.886470000 0.797860000 0.163460000  0.126326 0.644107 0.525311  N/A         N/A      N/A      N/A       0.582031250 0.937540984 0.811411517 0.744786333
  0.588235294 0.894770000 0.799520000 0.165070000  0.128087 0.647749 0.523491  N/A         N/A      N/A      N/A       0.585937500 0.939943375 0.807991025 0.738785947
  0.592156863 0.903010000 0.801060000 0.166700000  0.130067 0.651384 0.521608  N/A         N/A      N/A      N/A       0.589843750 0.942252526 0.804496196 0.732768931
  0.596078431 0.911150000 0.802450000 0.168190000  0.132268 0.655014 0.519661  N/A         N/A      N/A      N/A       0.593750000 0.944468518 0.800927443 0.726736146
  0.600000000 0.919170000 0.803640000 0.169640000  0.134692 0.658636 0.517649  N/A         N/A      N/A      N/A       0.597656250 0.946591434 0.797285187 0.720688446
  0.603921569 0.927010000 0.804560000 0.170900000  0.137339 0.662252 0.515571  N/A         N/A      N/A      N/A       0.601562500 0.948621357 0.793569853 0.714626683
  0.607843137 0.934590000 0.805140000 0.172000000  0.140210 0.665859 0.513427  N/A         N/A      N/A      N/A       0.605468750 0.950558373 0.789781872 0.708551706
  0.611764706 0.941850000 0.805320000 0.172890000  0.143303 0.669459 0.511215  N/A         N/A      N/A      N/A       0.609375000 0.952402567 0.785921682 0.702464356
  0.615686275 0.948690000 0.805040000 0.173550000  0.146616 0.673050 0.508936  N/A         N/A      N/A      N/A       0.613281250 0.954154029 0.781989725 0.696365473
  0.619607843 0.955060000 0.804240000 0.173920000  0.150148 0.676631 0.506589  N/A         N/A      N/A      N/A       0.617187500 0.955812849 0.777986449 0.690255891
  0.623529412 0.960880000 0.802890000 0.173990000  0.153894 0.680203 0.504172  N/A         N/A      N/A      N/A       0.621093750 0.957379123 0.773912305 0.684136440
  0.627450980 0.966090000 0.800970000 0.173750000  0.157851 0.683765 0.501686  N/A         N/A      N/A      N/A       0.625000000 0.958852946 0.769767752 0.678007945
  0.631372549 0.970690000 0.798500000 0.173190000  0.162016 0.687316 0.499129  N/A         N/A      N/A      N/A       0.628906250 0.960234418 0.765553251 0.671871226
  0.635294118 0.974650000 0.795490000 0.172340000  0.166383 0.690856 0.496502  N/A         N/A      N/A      N/A       0.632812500 0.961523642 0.761269267 0.665727098
  0.639215686 0.978010000 0.792010000 0.171210000  0.170948 0.694384 0.493803  N/A         N/A      N/A      N/A       0.636718750 0.962720725 0.756916272 0.659576372
  0.643137255 0.980820000 0.788100000 0.169860000  0.175707 0.697900 0.491033  N/A         N/A      N/A      N/A       0.640625000 0.963825777 0.752494738 0.653419853
  0.647058824 0.983140000 0.783840000 0.168250000  0.180653 0.701402 0.488189  N/A         N/A      N/A      N/A       0.644531250 0.964838913 0.748005143 0.647258341
  0.650980392 0.985040000 0.779280000 0.166520000  0.185783 0.704891 0.485273  N/A         N/A      N/A      N/A       0.648437500 0.965760251 0.743447967 0.641092630
  0.654901961 0.986600000 0.774500000 0.164630000  0.191090 0.708366 0.482284  N/A         N/A      N/A      N/A       0.652343750 0.966589914 0.738823693 0.634923509
  0.658823529 0.987890000 0.769550000 0.162650000  0.196571 0.711827 0.479221  N/A         N/A      N/A      N/A       0.656250000 0.967328030 0.734132809 0.628751763
  0.662745098 0.988970000 0.764490000 0.160560000  0.202219 0.715272 0.476084  N/A         N/A      N/A      N/A       0.660156250 0.967974729 0.729375802 0.622578170
  0.666666667 0.989900000 0.759320000 0.158480000  0.208030 0.718701 0.472873  N/A         N/A      N/A      N/A       0.664062500 0.968530150 0.724553162 0.616403502
  0.670588235 0.990720000 0.754110000 0.156340000  0.214000 0.722114 0.469588  N/A         N/A      N/A      N/A       0.667968750 0.968994435 0.719665383 0.610228525
  0.674509804 0.991460000 0.748850000 0.154140000  0.220124 0.725509 0.466226  N/A         N/A      N/A      N/A       0.671875000 0.969367729 0.714712956 0.604054002
  0.678431373 0.992140000 0.743560000 0.151960000  0.226397 0.728888 0.462789  N/A         N/A      N/A      N/A       0.675781250 0.969650186 0.709696378 0.597880686
  0.682352941 0.992790000 0.738250000 0.149810000  0.232815 0.732247 0.459277  N/A         N/A      N/A      N/A       0.679687500 0.969841963 0.704616143 0.591709328
  0.686274510 0.993400000 0.732930000 0.147600000  0.239374 0.735588 0.455688  N/A         N/A      N/A      N/A       0.683593750 0.969943224 0.699472746 0.585540669
  0.690196078 0.993980000 0.727590000 0.145430000  0.246070 0.738910 0.452024  N/A         N/A      N/A      N/A       0.687500000 0.969954137 0.694266682 0.579375448
  0.694117647 0.994540000 0.722240000 0.143200000  0.252899 0.742211 0.448284  N/A         N/A      N/A      N/A       0.691406250 0.969874878 0.688998447 0.573214394
  0.698039216 0.995090000 0.716890000 0.141030000  0.259857 0.745492 0.444467  N/A         N/A      N/A      N/A       0.695312500 0.969705626 0.683668532 0.567058232
  0.701960784 0.995620000 0.711520000 0.138800000  0.266941 0.748751 0.440573  N/A         N/A      N/A      N/A       0.699218750 0.969446570 0.678277431 0.560907681
  0.705882353 0.996130000 0.706140000 0.136590000  0.274149 0.751988 0.436601  N/A         N/A      N/A      N/A       0.703125000 0.969097901 0.672825633 0.554763452
  0.709803922 0.996620000 0.700750000 0.134440000  0.281477 0.755203 0.432552  N/A         N/A      N/A      N/A       0.707031250 0.968659818 0.667313624 0.548626250
  0.713725490 0.997100000 0.695340000 0.132230000  0.288921 0.758394 0.428426  N/A         N/A      N/A      N/A       0.710937500 0.968132528 0.661741889 0.542496774
  0.717647059 0.997550000 0.689930000 0.130060000  0.296479 0.761561 0.424223  N/A         N/A      N/A      N/A       0.714843750 0.967516241 0.656110908 0.536375716
  0.721568627 0.998000000 0.684500000 0.127830000  0.304148 0.764704 0.419943  N/A         N/A      N/A      N/A       0.718750000 0.966811177 0.650421156 0.530263762
  0.725490196 0.998420000 0.679060000 0.125640000  0.311925 0.767822 0.415586  N/A         N/A      N/A      N/A       0.722656250 0.966017559 0.644673104 0.524161591
  0.729411765 0.998830000 0.673610000 0.123400000  0.319809 0.770914 0.411152  N/A         N/A      N/A      N/A       0.726562500 0.965135621 0.638867216 0.518069875
  0.733333333 0.999220000 0.668150000 0.121190000  0.327796 0.773980 0.406640  N/A         N/A      N/A      N/A       0.730468750 0.964165599 0.633003950 0.511989279
  0.737254902 0.999590000 0.662670000 0.119040000  0.335885 0.777018 0.402049  N/A         N/A      N/A      N/A       0.734375000 0.963107739 0.627083758 0.505920462
  0.741176471 0.999940000 0.657170000 0.116820000  0.344074 0.780029 0.397381  N/A         N/A      N/A      N/A       0.738281250 0.961962293 0.621107082 0.499864075
  0.745098039 1.000000000 0.651660000 0.114580000  0.352360 0.783011 0.392636  N/A         N/A      N/A      N/A       0.742187500 0.960729521 0.615074355 0.493820764
  0.749019608 1.000000000 0.646130000 0.112440000  0.360741 0.785964 0.387814  N/A         N/A      N/A      N/A       0.746093750 0.959409687 0.608986000 0.487791167
  0.752941176 1.000000000 0.640590000 0.110240000  0.369214 0.788888 0.382914  N/A         N/A      N/A      N/A       0.750000000 0.958003065 0.602842431 0.481775914
  0.756862745 1.000000000 0.635030000 0.107970000  0.377779 0.791781 0.377939  N/A         N/A      N/A      N/A       0.753906250 0.956509936 0.596644046 0.475775629
  0.760784314 1.000000000 0.629450000 0.105800000  0.386433 0.794644 0.372886  N/A         N/A      N/A      N/A       0.757812500 0.954930586 0.590391232 0.469790930
  0.764705882 1.000000000 0.623860000 0.103600000  0.395174 0.797475 0.367757  N/A         N/A      N/A      N/A       0.761718750 0.953265310 0.584084361 0.463822426
  0.768627451 1.000000000 0.618250000 0.101350000  0.404001 0.800275 0.362552  N/A         N/A      N/A      N/A       0.765625000 0.951514411 0.577723790 0.457870719
  0.772549020 1.000000000 0.612610000 0.099135000  0.412913 0.803041 0.357269  N/A         N/A      N/A      N/A       0.769531250 0.949678196 0.571309856 0.451936407
  0.776470588 1.000000000 0.606970000 0.096882000  0.421908 0.805774 0.351910  N/A         N/A      N/A      N/A       0.773437500 0.947756983 0.564842879 0.446020077
  0.780392157 1.000000000 0.601300000 0.094743000  0.430983 0.808473 0.346476  N/A         N/A      N/A      N/A       0.777343750 0.945751096 0.558323158 0.440122312
  0.784313725 1.000000000 0.595610000 0.092465000  0.440137 0.811138 0.340967  N/A         N/A      N/A      N/A       0.781250000 0.943660866 0.551750968 0.434243684
  0.788235294 1.000000000 0.589890000 0.090257000  0.449368 0.813768 0.335384  N/A         N/A      N/A      N/A       0.785156250 0.941486631 0.545126562 0.428384763
  0.792156863 1.000000000 0.584160000 0.088032000  0.458674 0.816363 0.329727  N/A         N/A      N/A      N/A       0.789062500 0.939228739 0.538450165 0.422546107
  0.796078431 1.000000000 0.578400000 0.085726000  0.468053 0.818921 0.323998  N/A         N/A      N/A      N/A       0.792968750 0.936887543 0.531721972 0.416728270
  0.800000000 1.000000000 0.572630000 0.083542000  0.477504 0.821444 0.318195  N/A         N/A      N/A      N/A       0.796875000 0.934463404 0.524942147 0.410931798
  0.803921569 1.000000000 0.566820000 0.081316000  0.487026 0.823929 0.312321  N/A         N/A      N/A      N/A       0.800781250 0.931956691 0.518110821 0.405157230
  0.807843137 1.000000000 0.560980000 0.079004000  0.496615 0.826376 0.306377  N/A         N/A      N/A      N/A       0.804687500 0.929367782 0.511228087 0.399405096
  0.811764706 1.000000000 0.555130000 0.076745000  0.506271 0.828786 0.300362  N/A         N/A      N/A      N/A       0.808593750 0.926697060 0.504293997 0.393675922
  0.815686275 1.000000000 0.549250000 0.074530000  0.515992 0.831158 0.294279  N/A         N/A      N/A      N/A       0.812500000 0.923944917 0.497308560 0.387970225
  0.819607843 1.000000000 0.543330000 0.072245000  0.525776 0.833491 0.288127  N/A         N/A      N/A      N/A       0.816406250 0.921111753 0.490271735 0.382288516
  0.823529412 1.000000000 0.537390000 0.070004000  0.535621 0.835785 0.281908  N/A         N/A      N/A      N/A       0.820312500 0.918197974 0.483183431 0.376631297
  0.827450980 1.000000000 0.531410000 0.067732000  0.545524 0.838039 0.275626  N/A         N/A      N/A      N/A       0.824218750 0.915203996 0.476043498 0.370999065
  0.831372549 1.000000000 0.525410000 0.065424000  0.555484 0.840254 0.269281  N/A         N/A      N/A      N/A       0.828125000 0.912130241 0.468851724 0.365392310
  0.835294118 1.000000000 0.519370000 0.063180000  0.565498 0.842430 0.262877  N/A         N/A      N/A      N/A       0.832031250 0.908977139 0.461607831 0.359811513
  0.839215686 1.000000000 0.513300000 0.060810000  0.575563 0.844566 0.256415  N/A         N/A      N/A      N/A       0.835937500 0.905745128 0.454311462 0.354257151
  0.843137255 1.000000000 0.507180000 0.058502000  0.585678 0.846661 0.249897  N/A         N/A      N/A      N/A       0.839843750 0.902434654 0.446962183 0.348729691
  0.847058824 1.000000000 0.501040000 0.056232000  0.595839 0.848717 0.243329  N/A         N/A      N/A      N/A       0.843750000 0.899046170 0.439559467 0.343229596
  0.850980392 1.000000000 0.494860000 0.053826000  0.606045 0.850733 0.236712  N/A         N/A      N/A      N/A       0.847656250 0.895580136 0.432102690 0.337757320
  0.854901961 1.000000000 0.488630000 0.051494000  0.616293 0.852709 0.230052  N/A         N/A      N/A      N/A       0.851562500 0.892037022 0.424591118 0.332313313
  0.858823529 1.000000000 0.482360000 0.049242000  0.626579 0.854645 0.223353  N/A         N/A      N/A      N/A       0.855468750 0.888417303 0.417023898 0.326898016
  0.862745098 1.000000000 0.476050000 0.046828000  0.636902 0.856542 0.216620  N/A         N/A      N/A      N/A       0.859375000 0.884721464 0.409400045 0.321511863
  0.866666667 1.000000000 0.469690000 0.044447000  0.647257 0.858400 0.209861  N/A         N/A      N/A      N/A       0.863281250 0.880949996 0.401718425 0.316155284
  0.870588235 1.000000000 0.463270000 0.042093000  0.657642 0.860219 0.203082  N/A         N/A      N/A      N/A       0.867187500 0.877103399 0.393977745 0.310828702
  0.874509804 1.000000000 0.456810000 0.039648000  0.668054 0.861999 0.196293  N/A         N/A      N/A      N/A       0.871093750 0.873182178 0.386176527 0.305532531
  0.878431373 1.000000000 0.450310000 0.037261000  0.678489 0.863742 0.189503  N/A         N/A      N/A      N/A       0.875000000 0.869186849 0.378313092 0.300267182
  0.882352941 1.000000000 0.443740000 0.034882000  0.688944 0.865448 0.182725  N/A         N/A      N/A      N/A       0.878906250 0.865117934 0.370385535 0.295033059
  0.886274510 1.000000000 0.437120000 0.032495000  0.699415 0.867117 0.175971  N/A         N/A      N/A      N/A       0.882812500 0.860975962 0.362391695 0.289830559
  0.890196078 1.000000000 0.430430000 0.030303000  0.709898 0.868751 0.169257  N/A         N/A      N/A      N/A       0.886718750 0.856761470 0.354329127 0.284660075
  0.894117647 1.000000000 0.423670000 0.028180000  0.720391 0.870350 0.162603  N/A         N/A      N/A      N/A       0.890625000 0.852475004 0.346195061 0.279521991
  0.898039216 1.000000000 0.416860000 0.026121000  0.730889 0.871916 0.156029  N/A         N/A      N/A      N/A       0.894531250 0.848117114 0.337986361 0.274416690
  0.901960784 1.000000000 0.409970000 0.024126000  0.741388 0.873449 0.149561  N/A         N/A      N/A      N/A       0.898437500 0.843688361 0.329699471 0.269344545
  0.905882353 1.000000000 0.402990000 0.022194000  0.751884 0.874951 0.143228  N/A         N/A      N/A      N/A       0.902343750 0.839189312 0.321330360 0.264305927
  0.909803922 1.000000000 0.395950000 0.020325000  0.762373 0.876424 0.137064  N/A         N/A      N/A      N/A       0.906250000 0.834620542 0.312874446 0.259301199
  0.913725490 1.000000000 0.388820000 0.018517000  0.772852 0.877868 0.131109  N/A         N/A      N/A      N/A       0.910156250 0.829982631 0.304326513 0.254330723
  0.917647059 0.999940000 0.381590000 0.016771000  0.783315 0.879285 0.125405  N/A         N/A      N/A      N/A       0.914062500 0.825276170 0.295680611 0.249394851
  0.921568627 0.999610000 0.374280000 0.015085000  0.793760 0.880678 0.120005  N/A         N/A      N/A      N/A       0.917968750 0.820501754 0.286929926 0.244493934
  0.925490196 0.999270000 0.366850000 0.013457000  0.804182 0.882046 0.114965  N/A         N/A      N/A      N/A       0.921875000 0.815659988 0.278066636 0.239628318
  0.929411765 0.998920000 0.359320000 0.011916000  0.814576 0.883393 0.110347  N/A         N/A      N/A      N/A       0.925781250 0.810751482 0.269081721 0.234798343
  0.933333333 0.998550000 0.351670000 0.010169000  0.824940 0.884720 0.106217  N/A         N/A      N/A      N/A       0.929687500 0.805776855 0.259964733 0.230004348
  0.937254902 0.998170000 0.343900000 0.008743700  0.835270 0.886029 0.102646  N/A         N/A      N/A      N/A       0.933593750 0.800736732 0.250703507 0.225246666
  0.941176471 0.997780000 0.336000000 0.007354100  0.845561 0.887322 0.099702  N/A         N/A      N/A      N/A       0.937500000 0.795631745 0.241283790 0.220525627
  0.945098039 0.997380000 0.327960000 0.006019900  0.855810 0.888601 0.097452  N/A         N/A      N/A      N/A       0.941406250 0.790462533 0.231688768 0.215841558
  0.949019608 0.996960000 0.319760000 0.004742900  0.866013 0.889868 0.095953  N/A         N/A      N/A      N/A       0.945312500 0.785229744 0.221898442 0.211194782
  0.952941176 0.996530000 0.311380000 0.003521700  0.876168 0.891125 0.095250  N/A         N/A      N/A      N/A       0.949218750 0.779934029 0.211888813 0.206585620
  0.956862745 0.996090000 0.302820000 0.002355700  0.886271 0.892374 0.095374  N/A         N/A      N/A      N/A       0.953125000 0.774576051 0.201630762 0.202014392
  0.960784314 0.995630000 0.294070000 0.001244500  0.896320 0.893616 0.096335  N/A         N/A      N/A      N/A       0.957031250 0.769156474 0.191088518 0.197481414
  0.964705882 0.995170000 0.285100000 0.000187420  0.906311 0.894855 0.098125  N/A         N/A      N/A      N/A       0.960937500 0.763675975 0.180217488 0.192987001
  0.968627451 0.994690000 0.275910000 0.000000000  0.916242 0.896091 0.100717  N/A         N/A      N/A      N/A       0.964843750 0.758135232 0.168961101 0.188531467
  0.972549020 0.994200000 0.266420000 0.000000000  0.926106 0.897330 0.104071  N/A         N/A      N/A      N/A       0.968750000 0.752534934 0.157246067 0.184115123
  0.976470588 0.993690000 0.256640000 0.000000000  0.935904 0.898570 0.108131  N/A         N/A      N/A      N/A       0.972656250 0.746875773 0.144974956 0.179738284
  0.980392157 0.993180000 0.246520000 0.000000000  0.945636 0.899815 0.112838  N/A         N/A      N/A      N/A       0.976562500 0.741158452 0.132014017 0.175401259
  0.984313725 0.992650000 0.236050000 0.000000000  0.955300 0.901065 0.118128  N/A         N/A      N/A      N/A       0.980468750 0.735383675 0.118171900 0.171104363
  0.988235294 0.992110000 0.225110000 0.000000000  0.964894 0.902323 0.123941  N/A         N/A      N/A      N/A       0.984375000 0.729552157 0.103159409 0.166847907
  0.992156863 0.991550000 0.213700000 0.000000000  0.974417 0.903590 0.130215  N/A         N/A      N/A      N/A       0.988281250 0.723664618 0.086504694 0.162632207
  0.996078431 0.990990000 0.201690000 0.000000000  0.983868 0.904867 0.136897  N/A         N/A      N/A      N/A       0.992187500 0.717721782 0.067344036 0.158457578
  1.000000000 0.990410000 0.189030000 0.000000000  0.993248 0.906157 0.143936  N/A         N/A      N/A      N/A       0.996093750 0.711724383 0.043755173 0.154324339
  N/A          N/A         N/A         N/A          N/A      N/A      N/A       N/A         N/A      N/A      N/A       1.000000000 0.705673158 0.015556160 0.150232812
EOD

f(x)=y0+a1*x+a2*x**2+a3*x**3
g(x)=Y0+A*exp( -.5*(x-x0)**2/w**2 )

# Raibow
fit [.137254902:.309803922] f(x) $data u 1:2 via y0,a1,a2,a3; print sprintf("r=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)
fit [.309803922:.623529412] f(x) $data u 1:2 via y0,a1,a2,a3; print sprintf("r=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)
fit [.623529412:.741176471] f(x) $data u 1:2 via y0,a1,a2,a3; print sprintf("r=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)
fit [.917647059:]           f(x) $data u 1:2 via y0,a1,a2,a3; print sprintf("r=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)

fit [0:.611764706]          f(x) $data u 1:3 via y0,a1,a2,a3; print sprintf("g=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)
fit [.611764706:1]          f(x) $data u 1:3 via y0,a1,a2,a3; print sprintf("g=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)

fit [0:.345098039]          f(x) $data u 1:4 via y0,a1,a2,a3; print sprintf("b=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)
fit [.345098039:.623529412] f(x) $data u 1:4 via y0,a1,a2,a3; print sprintf("b=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)
fit [.623529412:.964705882] f(x) $data u 1:4 via y0,a1,a2,a3; print sprintf("b=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)

# Viridis
fit [0:.55]  f(x) $data u 1:5 via y0,a1,a2,a3; print sprintf("r=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)
fit [.55:]   f(x) $data u 1:5 via y0,a1,a2,a3; print sprintf("r=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)

fit [0:.55]  f(x) $data u 1:6 via y0,a1,a2,a3; print sprintf("g=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)
fit [.55:]   f(x) $data u 1:6 via y0,a1,a2,a3; print sprintf("g=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)

fit [0:.55]  f(x) $data u 1:7 via y0,a1,a2,a3; print sprintf("b=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)
fit [.55:.9] f(x) $data u 1:7 via y0,a1,a2,a3; print sprintf("b=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)
fit [.9:]    f(x) $data u 1:7 via y0,a1,a2,a3; print sprintf("b=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)

# Parula
fit [0:.15]   f(x) $data u 8:9  via y0,a1,a2,a3; print sprintf("r=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)
fit [.15:.39] f(x) $data u 8:9  via y0,a1,a2,a3; print sprintf("r=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)
fit [.39:.86] f(x) $data u 8:9  via y0,a1,a2,a3; print sprintf("r=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)
fit [.86:]    f(x) $data u 8:9  via y0,a1,a2,a3; print sprintf("r=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)

fit [0:.80]   f(x) $data u 8:10 via y0,a1,a2,a3; print sprintf("g=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)
fit [.80:]    f(x) $data u 8:10 via y0,a1,a2,a3; print sprintf("g=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)

fit [:.15]    f(x) $data u 8:11 via y0,a1,a2,a3; print sprintf("b=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)
fit [.15:.39] f(x) $data u 8:11 via y0,a1,a2,a3; print sprintf("b=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)
fit [.39:.70] f(x) $data u 8:11 via y0,a1,a2,a3; print sprintf("b=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)
fit [.70:]    f(x) $data u 8:11 via y0,a1,a2,a3; print sprintf("b=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)

# Diverging-CoolWarm
fit [:.5]   f(x) $data u 12:13  via y0,a1,a2,a3; print sprintf("r=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)
fit [.5:1]  f(x) $data u 12:13  via y0,a1,a2,a3; print sprintf("r=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)
    
fit [:.5]   f(x) $data u 12:14  via y0,a1,a2,a3; print sprintf("g=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)
fit [.5:1]  f(x) $data u 12:14  via y0,a1,a2,a3; print sprintf("g=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)
    
fit [:.5]   f(x) $data u 12:15  via y0,a1,a2,a3; print sprintf("b=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)
fit [.5:1]  f(x) $data u 12:15  via y0,a1,a2,a3; print sprintf("b=Cubic(%12.6f,%12.6f,%12.6f,%12.6f)\n",y0,a1,a2,a3)

Y0=1E-3
fit       g(x) $data u 12:13  via Y0,A,x0,w; print sprintf("r=Gauss(%12.6f,%12.6f,%12.6f,%12.6f)\n",Y0,A,x0,w)
fit       g(x) $data u 12:15  via Y0,A,x0,w; print sprintf("b=Gauss(%12.6f,%12.6f,%12.6f,%12.6f)\n",Y0,A,x0,w)
fit [:.5] g(x) $data u 12:14  via Y0,A,x0,w; print sprintf("g=Gauss(%12.6f,%12.6f,%12.6f,%12.6f)\n",Y0,A,x0,w)
Y0=1; A=-1; x0=2; w=0.5
fit [.5:] g(x) $data u 12:14  via Y0,A,x0,w; print sprintf("g=Gauss(%12.6f,%12.6f,%12.6f,%12.6f)\n",Y0,A,x0,w)

p [] [0:1] $data u 12:14 w p pt 7, g(x) w l lw 2

下面是绘制这些颜色映射方案的python代码

cm.py
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# coding: utf-8
import math

def Cubic(y0, a1, a2, a3, x): return y0+a1*x+a2*x*x+a3*x*x*x
def Gauss(y0, A, x0, w, x):   return y0+A*math.exp(-.5*(x-x0)**2/w**2)

def RGB(V, Vmin=0, Vmax=1, Vcnt=0.5, cm=8):
  x=(V-Vmin)/(Vmax-Vmin)
  if V<Vcnt: x=0.5*(V-Vmin)/(Vcnt-Vmin)
  else:      x=0.5*(V-Vcnt)/(Vmax-Vcnt)+0.5

  if cm==1: # Rainbow http://stackoverflow.com/questions/7706339
    r=1; g=1; b=1
    if   x<0.25: r = 0;     g = 4*x
    elif x<0.50: r = 0;     b = 2-4*x
    elif x<0.75: r = 4*x-2; b = 0
    else:        g = 4-4*x; b = 0
  elif cm==2: # Rainbow gnuplot_33/13/10
    r=abs(2*x-0.5)
    g=math.sin(math.pi*x)
    b=math.cos(.5*math.pi*x)
  elif cm==3: # Rainbow gnuplot_26/13/10
    r=(3*x-1)/2
    g=math.sin(math.pi*x)
    b=math.cos(.5*math.pi*x)
  elif cm==4: # Rainbow gnuplot_22/13/-31
    r=3*x-1
    g=math.sin(math.pi*x)
    b=0.84-2*x
  elif cm==5: # Rainbow rainbow_bgyr_35-85_c72_n256
    if   x<.137254902: r=0
    elif x<.309803922: r=Cubic( -1.782709, 22.937070,  -86.635448, 109.222171, x)
    elif x<.623529412: r=Cubic( -0.765706,  3.908358,   -2.385836,   0.911563, x)
    elif x<.741176471: r=Cubic(-18.069920, 81.220268, -115.432390,  54.731649, x)
    elif x<.917647059: r=1
    else             : r=Cubic(  0.688335,  0.804310,   -0.553402,   0.051166, x)

    if x<.611764706  : g=Cubic(  0.221600,  2.096260,   -2.989336,   1.865388, x)
    else             : g=Cubic(  2.304104, -4.665514,    5.405245,  -2.842239, x)

    if   x<.345098039: b=Cubic(  0.964755, -3.046139,    3.252455,  -6.730486, x)
    elif x<.623529412: b=Cubic(  0.034808, -0.485577,    2.123163,  -1.570901, x)
    elif x<.964705882: b=Cubic( -0.692383,  4.166389,   -6.037159,   2.550446, x)
    else             : b=0
  elif cm==6: # viridis python
    if x<.55:   r=Cubic(  0.270292,   0.333180,   -2.630394,  2.791978, x)
    else    :   r=Cubic(  3.693069, -15.201373,   19.879325, -7.377033, x)

    if x<.55:   g=Cubic(  0.003646,   1.508667,   -1.151450,  0.759940, x)
    else    :   g=Cubic(  0.042276,   0.851820,    0.720388, -0.711664, x)

    if   x<.55: b=Cubic(  0.329096,   1.646430,   -3.791185,  2.755424, x)
    elif x<.90: b=Cubic( -0.218020,   3.162757,   -3.558470,  0.553676, x)
    else      : b=Cubic(-19.388025,  82.308615, -108.295603, 45.520845, x)
  elif cm==7: # parula matlab
    if   x<.15: r=Cubic(  0.198797,   1.970497,  -41.589822,  123.449482, x)
    elif x<.39: r=Cubic( -0.907359,  10.573222,  -36.564186,   39.903611, x)
    elif x<.86: r=Cubic(  1.054605,  -8.205269,   17.972106,   -9.889006, x)
    else      : r=Cubic(-33.422658, 116.236961, -130.247319,   48.409917, x)

    if x<.8:    g=Cubic(  0.163279,   1.805921,   -1.371303,   -0.029298, x)
    else   :    g=Cubic(  3.313963,  -8.334822,    7.779816,   -1.777729, x)

    if   x<.15: b=Cubic(  0.532434,   2.273628,   23.667368, -156.366854, x)
    elif x<.39: b=Cubic(  1.229754,  -3.907034,   13.494324,  -16.649945, x)
    elif x<.70: b=Cubic(  0.011934,   6.277798,  -14.821041,    9.471777, x)
    else      : b=Cubic( -3.553961,  15.536741,  -19.352350,    7.429805, x)
  elif cm==8: # Diverging-CoolWarm http://www.kennethmoreland.com/color-maps/
#    r=Gauss(           0.009719,   0.957350, 0.684475, 0.405381, x)
#    b=Gauss(          -0.058369,   1.059922, 0.287974, 0.397540, x)
#    g=Gauss(          -0.704876,   1.571408, 0.517821, 0.546999, x)
#    if x>0.5: g=Gauss( 1.049701, -11.064245, 2.617332, 0.736066, x)

    r=Cubic(      0.231337,  1.075890,  1.311415, -1.847011, x)
    g=Cubic(      0.298328,  1.762637, -0.350029, -1.819830, x)
    b=Cubic(      0.751440,  1.685291, -2.782078, -0.283025, x)
    if x>0.5:
      r=Cubic( -0.671865,  5.184908, -4.640348,  0.831930, x)
      g=Cubic(  1.155680, -0.818882,  1.293472, -1.569916, x)
      b=Cubic(  1.148734,  0.728630, -3.447502,  1.721348, x)

  r=min(max(r,0), 1)
  g=min(max(g,0) ,1)
  b=min(max(b,0) ,1)
  return r, g, b

Vmin=-0.008; Vmax=0.015; Vcnt=0; dV=0.0001; cm=8
Nbin=int((Vmax-Vmin)/dV)+1

# 颜色标尺
Nx=Nbin; Ny=70; 
w1=5;  w2=3;  w3=2
h1=20; h2=10; h3=5
file=open('ColorMap-'+str(cm)+'.ppm', 'w')
file.write('P3\n#ppm\n'+str(Nx)+' '+str(Ny)+'\n255\n')
for j in range(Ny):
  for i in range(Nx):
    if i>w1 and i<Nx-w1 and ( \
       (abs(i-100*(i/100))<w1 and (j<h1 or j>Ny-h1)) \
    or (abs(i- 50*(i/ 50))<w2 and (j<h2 or j>Ny-h2)) \
    or (abs(i- 10*(i/ 10))<w3 and (j<h3 or j>Ny-h3)) ):
      r=0; g=0; b=0
    else:
      V=Vmin+i*dV
      r, g, b=RGB(V, Vmin, Vmax, Vcnt, cm)
    file.write(str(int(r*255))+' '+str(int(g*255))+' '+str(int(b*255))+' ')
  file.write('\n')
file.close()

# 调色板
file=open('ColorMap-'+str(cm)+'.pal', 'w')
for i in range(Nx):
  V=Vmin+i*dV
  r, g, b=RGB(V, Vmin, Vmax, Vcnt, cm)
  file.write("%10.6f %10.6f %10.6f %10.6f\n" % (V, r, g, b) )
file.close()
◆本文地址: , 转载请注明◆
◆评论问题: https://jerkwin.herokuapp.com/category/3/博客, 欢迎留言◆


前一篇: Martini粗粒化力场使用手册:1 Martini简介
后一篇: GROMACS如何做之膜模拟

访问人次(2015年7月 9日起): | 最后更新: 2024-11-01 02:53:58 UTC | 版权所有 © 2008 - 2024 Jerkwin