Это сложно, если честно с тобой.То, что вы хотите, это две цветные полосы, я не уверен, хотите ли вы нарисовать обе или только одну из них.Теперь вы можете построить цветную полосу перед изменением цветовой карты и получить пределы
hcb=colorbar;
Limsgray=hcb.Limits; %I'm doing this because it's the easiest way to get the max value of the image if you don't know it. if do know the max value you don't necessarily have to do this part
, а затем добавить максимальное значение «Limsgray» ко всем значениям окружностей и установить набор2-е (максимальное) значение пределов цветовой панели до «максимальных значений круга + максимальное значение изображения».
Вам также необходимо добавить цветовую карту так:
cg=colormap(gray);
cj=jet(imgend-imgstart+1);
cmap=[cg;cj];
Затем вам нужно будет добавить собственные метки и метки, которые вы можете сделать с помощью
hcb.TickLabels=[]; %removes tick labels if there's no text
hcb.Ticks=[]; %removes ticks if there are no numbers, so add your own
. Вы также можете добавить некоторый интервал между цветными полосами, добавив белый цвет между серым и струйным.Если вы хотите отобразить только 1, вы просто измените диапазон, отрегулировав пределы, и я предлагаю сначала нарисовать круги, а затем добавить серый (но это мое мнение).
Если вы чувствуете, что это слишком много усилийили что-то, вы можете попробовать этот файл, но я думаю, что изменить его проще. Файл Colorbar на бирже