@@ -711,6 +711,149 @@ namespace matplot {
711
711
}
712
712
return result;
713
713
}
714
+ std::vector<std::vector<double >> turbo (size_t n) {
715
+ static std::vector<std::vector<double >> map = {
716
+ {0.189950 , 0.071760 , 0.232170 }, {0.194830 , 0.083390 , 0.261490 },
717
+ {0.199560 , 0.094980 , 0.290240 }, {0.204150 , 0.106520 , 0.318440 },
718
+ {0.208600 , 0.118020 , 0.346070 }, {0.212910 , 0.129470 , 0.373140 },
719
+ {0.217080 , 0.140870 , 0.399640 }, {0.221110 , 0.152230 , 0.425580 },
720
+ {0.225000 , 0.163540 , 0.450960 }, {0.228750 , 0.174810 , 0.475780 },
721
+ {0.232360 , 0.186030 , 0.500040 }, {0.235820 , 0.197200 , 0.523730 },
722
+ {0.239150 , 0.208330 , 0.546860 }, {0.242340 , 0.219410 , 0.569420 },
723
+ {0.245390 , 0.230440 , 0.591420 }, {0.248300 , 0.241430 , 0.612860 },
724
+ {0.251070 , 0.252370 , 0.633740 }, {0.253690 , 0.263270 , 0.654060 },
725
+ {0.256180 , 0.274120 , 0.673810 }, {0.258530 , 0.284920 , 0.693000 },
726
+ {0.260740 , 0.295680 , 0.711620 }, {0.262800 , 0.306390 , 0.729680 },
727
+ {0.264730 , 0.317060 , 0.747180 }, {0.266520 , 0.327680 , 0.764120 },
728
+ {0.268160 , 0.338250 , 0.780500 }, {0.269670 , 0.348780 , 0.796310 },
729
+ {0.271030 , 0.359260 , 0.811560 }, {0.272260 , 0.369700 , 0.826240 },
730
+ {0.273340 , 0.380080 , 0.840370 }, {0.274290 , 0.390430 , 0.853930 },
731
+ {0.275090 , 0.400720 , 0.866920 }, {0.275760 , 0.410970 , 0.879360 },
732
+ {0.276280 , 0.421180 , 0.891230 }, {0.276670 , 0.431340 , 0.902540 },
733
+ {0.276910 , 0.441450 , 0.913280 }, {0.277010 , 0.451520 , 0.923470 },
734
+ {0.276980 , 0.461530 , 0.933090 }, {0.276800 , 0.471510 , 0.942140 },
735
+ {0.276480 , 0.481440 , 0.950640 }, {0.276030 , 0.491320 , 0.958570 },
736
+ {0.275430 , 0.501150 , 0.965940 }, {0.274690 , 0.510940 , 0.972750 },
737
+ {0.273810 , 0.520690 , 0.978990 }, {0.272730 , 0.530400 , 0.984610 },
738
+ {0.271060 , 0.540150 , 0.989300 }, {0.268780 , 0.549950 , 0.993030 },
739
+ {0.265920 , 0.559790 , 0.995830 }, {0.262520 , 0.569670 , 0.997730 },
740
+ {0.258620 , 0.579580 , 0.998760 }, {0.254250 , 0.589500 , 0.998960 },
741
+ {0.249460 , 0.599430 , 0.998350 }, {0.244270 , 0.609370 , 0.996970 },
742
+ {0.238740 , 0.619310 , 0.994850 }, {0.232880 , 0.629230 , 0.992020 },
743
+ {0.226760 , 0.639130 , 0.988510 }, {0.220390 , 0.649010 , 0.984360 },
744
+ {0.213820 , 0.658860 , 0.979590 }, {0.207080 , 0.668660 , 0.974230 },
745
+ {0.200210 , 0.678420 , 0.968330 }, {0.193260 , 0.688120 , 0.961900 },
746
+ {0.186250 , 0.697750 , 0.954980 }, {0.179230 , 0.707320 , 0.947610 },
747
+ {0.172230 , 0.716800 , 0.939810 }, {0.165290 , 0.726200 , 0.931610 },
748
+ {0.158440 , 0.735510 , 0.923050 }, {0.151730 , 0.744720 , 0.914160 },
749
+ {0.145190 , 0.753810 , 0.904960 }, {0.138860 , 0.762790 , 0.895500 },
750
+ {0.132780 , 0.771650 , 0.885800 }, {0.126980 , 0.780370 , 0.875900 },
751
+ {0.121510 , 0.788960 , 0.865810 }, {0.116390 , 0.797400 , 0.855590 },
752
+ {0.111670 , 0.805690 , 0.845250 }, {0.107380 , 0.813810 , 0.834840 },
753
+ {0.103570 , 0.821770 , 0.824370 }, {0.100260 , 0.829550 , 0.813890 },
754
+ {0.097500 , 0.837140 , 0.803420 }, {0.095320 , 0.844550 , 0.792990 },
755
+ {0.093770 , 0.851750 , 0.782640 }, {0.092870 , 0.858750 , 0.772400 },
756
+ {0.092670 , 0.865540 , 0.762300 }, {0.093200 , 0.872110 , 0.752370 },
757
+ {0.094510 , 0.878440 , 0.742650 }, {0.096620 , 0.884540 , 0.733160 },
758
+ {0.099580 , 0.890400 , 0.723930 }, {0.103420 , 0.896000 , 0.715000 },
759
+ {0.108150 , 0.901420 , 0.705990 }, {0.113740 , 0.906730 , 0.696510 },
760
+ {0.120140 , 0.911930 , 0.686600 }, {0.127330 , 0.917010 , 0.676270 },
761
+ {0.135260 , 0.921970 , 0.665560 }, {0.143910 , 0.926800 , 0.654480 },
762
+ {0.153230 , 0.931510 , 0.643080 }, {0.163190 , 0.936090 , 0.631370 },
763
+ {0.173770 , 0.940530 , 0.619380 }, {0.184910 , 0.944840 , 0.607130 },
764
+ {0.196590 , 0.949010 , 0.594660 }, {0.208770 , 0.953040 , 0.581990 },
765
+ {0.221420 , 0.956920 , 0.569140 }, {0.234490 , 0.960650 , 0.556140 },
766
+ {0.247970 , 0.964230 , 0.543030 }, {0.261800 , 0.967650 , 0.529810 },
767
+ {0.275970 , 0.970920 , 0.516530 }, {0.290420 , 0.974030 , 0.503210 },
768
+ {0.305130 , 0.976970 , 0.489870 }, {0.320060 , 0.979740 , 0.476540 },
769
+ {0.335170 , 0.982340 , 0.463250 }, {0.350430 , 0.984770 , 0.450020 },
770
+ {0.365810 , 0.987020 , 0.436880 }, {0.381270 , 0.989090 , 0.423860 },
771
+ {0.396780 , 0.990980 , 0.410980 }, {0.412290 , 0.992680 , 0.398260 },
772
+ {0.427780 , 0.994190 , 0.385750 }, {0.443210 , 0.995510 , 0.373450 },
773
+ {0.458540 , 0.996630 , 0.361400 }, {0.473750 , 0.997550 , 0.349630 },
774
+ {0.488790 , 0.998280 , 0.338160 }, {0.503620 , 0.998790 , 0.327010 },
775
+ {0.518220 , 0.999100 , 0.316220 }, {0.532550 , 0.999190 , 0.305810 },
776
+ {0.546580 , 0.999070 , 0.295810 }, {0.560260 , 0.998730 , 0.286230 },
777
+ {0.573570 , 0.998170 , 0.277120 }, {0.586460 , 0.997390 , 0.268490 },
778
+ {0.598910 , 0.996380 , 0.260380 }, {0.610880 , 0.995140 , 0.252800 },
779
+ {0.622330 , 0.993660 , 0.245790 }, {0.633230 , 0.991950 , 0.239370 },
780
+ {0.643620 , 0.989990 , 0.233560 }, {0.653940 , 0.987750 , 0.228350 },
781
+ {0.664280 , 0.985240 , 0.223700 }, {0.674620 , 0.982460 , 0.219600 },
782
+ {0.684940 , 0.979410 , 0.216020 }, {0.695250 , 0.976100 , 0.212940 },
783
+ {0.705530 , 0.972550 , 0.210320 }, {0.715770 , 0.968750 , 0.208150 },
784
+ {0.725960 , 0.964700 , 0.206400 }, {0.736100 , 0.960430 , 0.205040 },
785
+ {0.746170 , 0.955930 , 0.204060 }, {0.756170 , 0.951210 , 0.203430 },
786
+ {0.766080 , 0.946270 , 0.203110 }, {0.775910 , 0.941130 , 0.203100 },
787
+ {0.785630 , 0.935790 , 0.203360 }, {0.795240 , 0.930250 , 0.203860 },
788
+ {0.804730 , 0.924520 , 0.204590 }, {0.814100 , 0.918610 , 0.205520 },
789
+ {0.823330 , 0.912530 , 0.206630 }, {0.832410 , 0.906270 , 0.207880 },
790
+ {0.841330 , 0.899860 , 0.209260 }, {0.850100 , 0.893280 , 0.210740 },
791
+ {0.858680 , 0.886550 , 0.212300 }, {0.867090 , 0.879680 , 0.213910 },
792
+ {0.875300 , 0.872670 , 0.215550 }, {0.883310 , 0.865530 , 0.217190 },
793
+ {0.891120 , 0.858260 , 0.218800 }, {0.898700 , 0.850870 , 0.220380 },
794
+ {0.906050 , 0.843370 , 0.221880 }, {0.913170 , 0.835760 , 0.223280 },
795
+ {0.920040 , 0.828060 , 0.224560 }, {0.926660 , 0.820250 , 0.225700 },
796
+ {0.933010 , 0.812360 , 0.226670 }, {0.939090 , 0.804390 , 0.227440 },
797
+ {0.944890 , 0.796340 , 0.228000 }, {0.950390 , 0.788230 , 0.228310 },
798
+ {0.955600 , 0.780050 , 0.228360 }, {0.960490 , 0.771810 , 0.228110 },
799
+ {0.965070 , 0.763520 , 0.227540 }, {0.969310 , 0.755190 , 0.226630 },
800
+ {0.973230 , 0.746820 , 0.225360 }, {0.976790 , 0.738420 , 0.223690 },
801
+ {0.980000 , 0.730000 , 0.221610 }, {0.982890 , 0.721400 , 0.219180 },
802
+ {0.985490 , 0.712500 , 0.216500 }, {0.987810 , 0.703300 , 0.213580 },
803
+ {0.989860 , 0.693820 , 0.210430 }, {0.991630 , 0.684080 , 0.207060 },
804
+ {0.993140 , 0.674080 , 0.203480 }, {0.994380 , 0.663860 , 0.199710 },
805
+ {0.995350 , 0.653410 , 0.195770 }, {0.996070 , 0.642770 , 0.191650 },
806
+ {0.996540 , 0.631930 , 0.187380 }, {0.996750 , 0.620930 , 0.182970 },
807
+ {0.996720 , 0.609770 , 0.178420 }, {0.996440 , 0.598460 , 0.173760 },
808
+ {0.995930 , 0.587030 , 0.168990 }, {0.995170 , 0.575490 , 0.164120 },
809
+ {0.994190 , 0.563860 , 0.159180 }, {0.992970 , 0.552140 , 0.154170 },
810
+ {0.991530 , 0.540360 , 0.149100 }, {0.989870 , 0.528540 , 0.143980 },
811
+ {0.987990 , 0.516670 , 0.138830 }, {0.985900 , 0.504790 , 0.133670 },
812
+ {0.983600 , 0.492910 , 0.128490 }, {0.981080 , 0.481040 , 0.123320 },
813
+ {0.978370 , 0.469200 , 0.118170 }, {0.975450 , 0.457400 , 0.113050 },
814
+ {0.972340 , 0.445650 , 0.107970 }, {0.969040 , 0.433990 , 0.102940 },
815
+ {0.965550 , 0.422410 , 0.097980 }, {0.961870 , 0.410930 , 0.093100 },
816
+ {0.958010 , 0.399580 , 0.088310 }, {0.953980 , 0.388360 , 0.083620 },
817
+ {0.949770 , 0.377290 , 0.079050 }, {0.945380 , 0.366380 , 0.074610 },
818
+ {0.940840 , 0.355660 , 0.070310 }, {0.936120 , 0.345130 , 0.066160 },
819
+ {0.931250 , 0.334820 , 0.062180 }, {0.926230 , 0.324730 , 0.058370 },
820
+ {0.921050 , 0.314890 , 0.054750 }, {0.915720 , 0.305300 , 0.051340 },
821
+ {0.910240 , 0.295990 , 0.048140 }, {0.904630 , 0.286960 , 0.045160 },
822
+ {0.898880 , 0.278240 , 0.042430 }, {0.892980 , 0.269810 , 0.039930 },
823
+ {0.886910 , 0.261520 , 0.037530 }, {0.880660 , 0.253340 , 0.035210 },
824
+ {0.874220 , 0.245260 , 0.032970 }, {0.867600 , 0.237300 , 0.030820 },
825
+ {0.860790 , 0.229450 , 0.028750 }, {0.853800 , 0.221700 , 0.026770 },
826
+ {0.846620 , 0.214070 , 0.024870 }, {0.839260 , 0.206540 , 0.023050 },
827
+ {0.831720 , 0.199120 , 0.021310 }, {0.823990 , 0.191820 , 0.019660 },
828
+ {0.816080 , 0.184620 , 0.018090 }, {0.807990 , 0.177530 , 0.016600 },
829
+ {0.799710 , 0.170550 , 0.015200 }, {0.791250 , 0.163680 , 0.013870 },
830
+ {0.782600 , 0.156930 , 0.012640 }, {0.773770 , 0.150280 , 0.011480 },
831
+ {0.764760 , 0.143740 , 0.010410 }, {0.755560 , 0.137310 , 0.009420 },
832
+ {0.746170 , 0.130980 , 0.008510 }, {0.736610 , 0.124770 , 0.007690 },
833
+ {0.726860 , 0.118670 , 0.006950 }, {0.716920 , 0.112680 , 0.006290 },
834
+ {0.706800 , 0.106800 , 0.005710 }, {0.696500 , 0.101020 , 0.005220 },
835
+ {0.686020 , 0.095360 , 0.004810 }, {0.675350 , 0.089800 , 0.004490 },
836
+ {0.664490 , 0.084360 , 0.004240 }, {0.653450 , 0.079020 , 0.004080 },
837
+ {0.642230 , 0.073800 , 0.004010 }, {0.630820 , 0.068680 , 0.004010 },
838
+ {0.619230 , 0.063670 , 0.004100 }, {0.607460 , 0.058780 , 0.004270 },
839
+ {0.595500 , 0.053990 , 0.004530 }, {0.583360 , 0.049310 , 0.004860 },
840
+ {0.571030 , 0.044740 , 0.005290 }, {0.558520 , 0.040280 , 0.005790 },
841
+ {0.545830 , 0.035930 , 0.006380 }, {0.532950 , 0.031690 , 0.007050 },
842
+ {0.519890 , 0.027560 , 0.007800 }, {0.506640 , 0.023540 , 0.008630 },
843
+ {0.493210 , 0.019630 , 0.009550 }, {0.479600 , 0.015830 , 0.010550 }};
844
+ if (n == 256 ) {
845
+ return map;
846
+ }
847
+ std::vector<std::vector<double >> result;
848
+ for (size_t i = 0 ; i < n; ++i) {
849
+ std::array<float , 4 > ac =
850
+ colormap_interpolation (static_cast <double >(i), 0 .,
851
+ static_cast <double >(n - 1 ), map);
852
+ std::vector<double > vc = {ac[1 ], ac[2 ], ac[3 ]};
853
+ result.emplace_back (vc);
854
+ }
855
+ return result;
856
+ }
714
857
std::vector<std::vector<double >> magma (size_t n) {
715
858
static std::vector<std::vector<double >> map = {
716
859
{0.001462 , 0.000466 , 0.013866 }, {0.002258 , 0.001295 , 0.018331 },
0 commit comments