У меня есть следующий пример набора данных, охватывающего домен [x,y]
:
test=[2.58,2.2, 0.00023, 0.000163, 0.000123, 0.000164, 0.00022, 2.18, 2.56,2.56;
2.46,2.17, 0.00021, 0.000150, 0.000119, 0.000141, 0.00020, 2.16, 2.43, 2.56;
2.35,2.14, 0.00019, 0.000143, 0.000101, 0.000136, 0.00018, 2.14, 2.36,2.56;
2.23,2.12, 0.000184, 0.000138, 0.000095, 0.000124, 0.000166, 2.12, 2.24,2.56;
2.2,2.11, 0.000177, 0.000141, 0.00009, 0.000101, 0.000156, 2.09, 2.18, 2.56;
2.25,2.1, 0.000176, 0.000168, 0.00008, 0.000095, 0.000164, 2.08, 2.26, 2.56;
2.32,2.13, 0.000183, 0.000178, 0.000086, 0.000104, 0.000177, 2.11, 2.35,2.56;
2.44, 2.15, 0.00019, 0.000191, 0.000099, 0.000112, 0.000189, 2.13, 2.44,2.56;
2.56, 2.17,0.00021, 0.000199, 0.000101, 0.000132, 0.000199, 2.15, 2.52,2.56;
2.59, 2.19, 0.00022, 0.000209, 0.000118, 0.000144, 0.00021, 2.19,2.55, 2.56]
Как видите, данные по краям намного выше, чем данные в середине, т.е.две разные шкалы.Используя график поверхности Matlab (surf(test)
), я могу выбрать фокусировку по краям, установив цветовую карту max на 2.6
, и я получу: Фокус по краям .Это довольно хорошо показывает локальные различия по краям, но никаких различий в средней части не видно.
В качестве альтернативы я могу сфокусироваться на середине, установив максимум на 0.00025
и получу: Сосредоточиться насередина , которая показывает локальные различия по центру, но не по краям.Я действительно хотел бы объединить оба.Я много играл с colormapeditor, но пока не нашел удовлетворительного решения.
В идеале я бы разделил цветную полосу на две области: одна синяя область в диапазоне от 0
до 0.00023
(максимальное значение средней области) и вторая желтая область в диапазоне от 0.00023
до 2.59
(максимальное значение краевой области).В качестве альтернативы было бы возможно наложение обеих картинок (в 2D довольно просто, но я также хотел бы сделать это в 3D), но я предпочитаю решать это с помощью собственной цветовой шкалы.
Кто-нибудь знает, как это сделать?