- 2016年09月02日 21:43:51 初稿
- 2017年02月23日 20:30:43 补充代码
在做三维数据的填色表面图时, 需要使用颜色映射方案, 将一定范围内的数值映射成一定的颜色来显示. 可用的颜色映射方案很多很多, 但并不是所有的方案都适合用来展示数据. 我前面有篇博文数据展示:请选择好的颜色映射方案对此有些说明, 可做参考.
在这篇博文中, 我首先推荐一篇有关颜色设计的资料Good Colour Maps: How to Design Them, 供需要使用颜色映射的人参考.
传统的颜色映射方案, 给出的都是一定范围内的离散数据, 使用中有时需要进行插值, 不是很方便在程序中使用. 一种解决办法是将其拟合成解析表达式. 拟合时, 我们一般使用比较简单的函数, 如高斯函数, 二次, 三次函数等. 下面我给出一些常用颜色映射方案解析表达式的拟合结果.
下面是几种常见常用的颜色映射图, 大家可根据自己的需要来选.
网络资料
* 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()
|