MATLAB How to Modify Contour Colors in MATLAB?

  • Thread starter Thread starter eahaidar
  • Start date Start date
  • Tags Tags
    Matlab
AI Thread Summary
To modify contour colors in MATLAB, the user seeks to display a curve in a single color while retaining the original plot's data points. Additionally, they want to implement a condition to color specific values black, as black is not included in the current color bar. A suggestion is made to avoid overriding built-in MATLAB functions by using different variable names to prevent conflicts. Once variable names are changed, the colormap can be adjusted as needed. This approach allows for greater flexibility in customizing the plot's appearance.
eahaidar
Messages
69
Reaction score
1
%gamma=20;
gamma=580;
%P=0.1;
P=0.75;
N=P.*gamma;
lamdazero=1550;
[lamdapump,lamdasignal] = meshgrid(1550:0.1:1700,1550:0.1:1700);
beta3=1.3;
beta4=-8*10^-4;
%beta3=0.06;
%beta4=-2*10^-4;
c=2*pi*3*10^8;
%L=1;
L=0.01;
A0=(1./lamdapump) -(1./lamdazero);
B0=(1./lamdapump) -(1./lamdasignal);
%Linearmismatch=beta2.*c.^2.*(B0).^2;
%beta2=(6*pi.*10^5.*beta3.*A0) +(0.5.*beta4.*A0.^2).*(6.*pi.*10^5)^2;
%Second0=(1./2).*beta2.*(c.^2).*(B0.^2);
Third0=10^-9.*beta3.*(c.^3).*A0.*(B0.^2);
Fourth0=10^-12.*beta4.*(1./2).*c.^4.*(A0.^2).*(B0.^2);
%S4=(10^-12/12).*beta4.*c.^4*(B0.^4);
Fourorder=(10^-12).*c.^4.*beta4.*(1/12).*(B0).^4;
g0=1.1*10^-11;
Aeff=11*10^-12;
PSBS=0.025;
%g0=3.9*10^-9;
%Aeff=14*10^-12;
%PSBS=0.005;
SBS=(g0.*PSBS.*1000)./Aeff ;
deltabeta=Third0+Fourth0+Fourorder;
hold on
for i=1:1:length(deltabeta)
for j=1:1:length(deltabeta)
if(deltabeta(i,j)>=0 || deltabeta(i,j)<=(-4*N))
test(i,j)=NaN;
else
test(i,j)=deltabeta(i,j);
end
end
end
contourf(lamdapump,lamdasignal,test,'ShowText','off');
cmap=[0,0,0];
colormap=cmap;
colorbar
h = colorbar;
set(get(h,'title'),'string','\Delta \beta (\gamma P)');
ax = findobj('type','axes');
%set(ax(1),'ytickl',{'-5172.4', '-4310.3', '-3448.3', '-2586.2', '-1724.1',' -862.1', '0', '862.1', '1724.1'})
xlabel('\lambda_p_u_m_p')
ylabel('\lambda_s_i_g_n_a_l')
title('Contour representing linear phase mismatch for FWM pump power 75 mW and SBS pump power 25 mW ')

Hello everyone I am new here and have small experience with MATLAB and would like some help. So when you execute this code you would see a curve I want this curve to be one color only. Any help with that? Because I would love to retain the original plot without removing points to get that curve. One more thing, I was wondering that if I want to add a condition or in other words a black color (since no black is in my color bar) like if deltabeta=-2 gamma P make deltabeta black colored is it possible Sorry for making you guys read that long. Thank you and looking forward to reading your reply. el-abed
 
Physics news on Phys.org
For starters, you make built-in MATLAB functions into variables in several places here.

Code:
gamma=580;
colormap=cmap;

Both of these commands will override the MATLAB built-in functions. Don't do this, just use different variable names that don't conflict.

Once you use different variable names, you can set the colormap to whatever you want.

http://www.mathworks.com/help/matlab/ref/colormap.html
 

Similar threads

Replies
3
Views
7K
Replies
1
Views
3K
Replies
9
Views
5K
Replies
2
Views
1K
Replies
1
Views
3K
Back
Top