A more convenient colormapping
2 views (last 30 days)
Show older comments
The figure above is the change in transmission intensity over distance. But the colormapping scheme does not encapture the full picture. There is very gradual change around 0 (in the colorbar) that is absent from this picture.
I have edited the colormap through trial and error to get the foloowing picture:
It does capture the broadband phenomena around 800nm and 875nm. But such an image is not suitable for journal publication. How can I make it more sophisticated? TIA
The code and files are given below:
clc; clear all;
load zpos;
A=T';
l=l*1e9;z=z*1e9;
figure
p=pcolor(l,z,A*1e15);
colormap jet(500); % 500 levels of granularity
shading interp; % interpolate colors across lines and faces
xlim([750 900]);
ylim([-620 100]);
xlabel('wavelength (nm)') ;%ylabel('z (nm)');
xticks([750 775 800 825 850 875 900]);
yticks([-526 -326 -126 74]);
yticklabels({'z=200','z=0','z=-200','z=-400'})
% set(gca,'Units','normalized');
% set(gca,'TickLength',[0.5,0.5]);
%colorbar setting
c = colorbar;
%labels the colorbar vertically as desired
set(get(c,'label'),'string','Emission (a.u.)');
c.TickLength=.023;
c.Units='normalized';
c.FontSize=28;
%font properties
FS='Fontsize';
fs=20;
FN='Fontname';
fn='Times New Roman';
set(findall(gcf,'type','axes'),FS,fs,FN,fn);
set(findall(gcf,'type','text'),FS,fs,FN,fn);
0 Comments
Accepted Answer
Adam Danz
on 30 Dec 2019
Edited: Adam Danz
on 31 Dec 2019
You could replace pcolor() with contourf(). The plot below uses 12 levels of contours. You can play around with the number of levels until you get the desired appearance.
contourf(l,z,A*1e15,12)
2 Comments
Adam Danz
on 31 Dec 2019
You can also customize the border line width (set it to 0 for no line) and you can optionally set contour labels, too.
More Answers (0)
See Also
Categories
Find more on Colormaps in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!