How to Modify Contour Colors in MATLAB?

  • Context: MATLAB 
  • Thread starter Thread starter eahaidar
  • Start date Start date
  • Tags Tags
    Matlab
Click For Summary
SUMMARY

This discussion focuses on modifying contour colors in MATLAB for visualizing linear phase mismatch in fiber-optic systems. The user seeks to display a single color for a specific curve while retaining the original plot and adding a condition to color certain values black. Key MATLAB commands discussed include contourf, colormap, and the importance of avoiding variable name conflicts with built-in functions. The solution involves renaming conflicting variables and customizing the colormap to achieve the desired visual output.

PREREQUISITES
  • Familiarity with MATLAB programming and syntax
  • Understanding of contour plotting using contourf
  • Knowledge of color mapping in MATLAB with colormap
  • Basic concepts of linear phase mismatch in fiber-optic systems
NEXT STEPS
  • Learn how to customize MATLAB colormaps for specific data visualizations
  • Explore the use of conditional coloring in MATLAB plots
  • Investigate the implications of variable naming conventions in MATLAB
  • Study advanced contour plotting techniques in MATLAB
USEFUL FOR

This discussion is beneficial for MATLAB users, particularly those involved in optical engineering, data visualization, and anyone looking to enhance their plotting skills in MATLAB.

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 ·
Replies
3
Views
8K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 9 ·
Replies
9
Views
5K
  • · Replies 3 ·
Replies
3
Views
4K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 41 ·
2
Replies
41
Views
10K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
4K
Replies
5
Views
8K