2015-02-23 8 views
0
gamma=20; 
P=0.1; 
N=P.*gamma; 
lamdazero=1550; 
[lamdapump,lamdasignal] = meshgrid(1540:0.1:1580,1520:0.1:1580); 
beta3=0.06; 
beta4=-2*10^-4; 
c=2*pi*3*10^8; 
L=1; 
A0=(1./lamdapump) -(1./lamdazero); 
B0=(1./lamdapump) -(1./lamdasignal); 
Third0=10^-9.*beta3.*(c.^3).*A0.*(B0.^2); 
Fourth0=10^-12.*beta4.*(1./2).*c.^4.*(A0.^2).*(B0.^2); 
Fourorder=(10^-12).*c.^4.*beta4.*(1/12).*(B0).^4; 
deltabeta=Third0+Fourth0+Fourorder; 
test2 = deltabeta; 
test2(~(deltabeta<=0 & deltabeta>=-4*N)) = nan; 
[C,h]=contourf(lamdapump,lamdasignal,test2,[-(4*N):N/2:0],'ShowText','off'); 
caxis([-8 0]); 
xlabel('\lambda_p_u_m_p') 
ylabel('\lambda_s_i_g_n_a_l') 
title('Contour representing linear phase mismatch in terms of pump and signal wavelength ') 
colorbar('YTickLabel',{'-4','-3.5','-3','-2.5','-2','-1.5','-1','-0.5','0'}) 
h2=colorbar; 
HandleOfTitle = get(h2,'Title'); 
set(HandleOfTitle,'String','\Delta \beta (\gamma P_F_W_M)'); 

% Если я удалить цвет yticklabel я получить свой титул Colorbar и ViceVersa % должны знать, что делать % Код прекрасно работаетПочему я не могу отображать заголовок и тики цвета одновременно?

+1

Попробуйте уменьшить количество кода и увеличить объем текста. Вы можете попытаться устранить 80% кода, который вы получили с помощью простого примера данных, как то, как данные вычисляются, и я имею отношение к вашей проблеме! Положите ** Минимальный ** Рабочий пример –

ответ

0

Вы создаете два ColorBars, второй перезаписывает первый.

colorbar('YTickLabel',{'-4','-3.5','-3','-2.5','-2','-1.5','-1','-0.5','0'}) 

Создает цветную панель.

h2=colorbar; 

Создает другой цветной барабан и удаляет первый. Получите ручку от первого звонка и снимите второй:

h2 = colorbar('YTickLabel',{'-4','-3.5','-3','-2.5','-2','-1.5','-1','-0.5','0'}); 

Затем используйте ручку, чтобы задать заголовок, как и раньше.

+0

Спасибо, ребята, очень –

Смежные вопросы