How to suplot 3 images (2D data) horizontally?

1 visualización (últimos 30 días)
Zihad Azad
Zihad Azad el 18 de Dic. de 2019
Respondida: Zihad Azad el 18 de Dic. de 2019
I have 3 sets of 2D data that I would like to plot horizontally as part of one figure only. Here's the code:
clc; clear all;
load infinite;
load finite;
load gain;
% transpose matrix is not required
A1= log10(fs1);
A2= log10(fs2);
A3= log10(fs3);
subplot(1,3,1);p1=pcolor(ky*1e-6,f/1e12,A1);
xlabel('k_{\ity}({\mu}m^{-1})') ;
subplot(1,3,2);p2=pcolor(ky*1e-6,f/1e12,A2);
xlabel('k_{\ity}({\mu}m^{-1})') ;
subplot(1,3,3);p3=pcolor(ky*1e-6,f/1e12,A3);
xlabel('k_{\ity}({\mu}m^{-1})') ;
ylabel('{\itf} (THz)');
%colormap setting
shading interp;
colormap jet;%colormap need to be set to jet for Blue-yellow-red map
%colorbar setting
c = colorbar;
%labels the colorbar vertically as desired
set(get(c,'label'),'string','logscale');
c.TickLength=.056;
c.Units='pixel';
c.FontWeight='bold';
%font properties
FS='Fontsize';
fs=18;
FN='Fontname';
fn='Times New Roman';
set(findall(gcf,'type','axes'),FS,fs,FN,fn);
set(findall(gcf,'type','text'),FS,fs,FN,fn);
But for some reason the first two subplots are all blacked out:
problem.jpg
What seems to be the issue here ? Also, the subfigures are really thin. I would like them to be the proper size for viewing ease. Also, I would like only one ylabel on the far left and one color bar on the far right. Can anyone help me please? I am new to Matlab.
TIA,
Zihad Azad
P.S.:The tables are attached herewith.

Respuestas (2)

KSSV
KSSV el 18 de Dic. de 2019
  1 comentario
Zihad Azad
Zihad Azad el 18 de Dic. de 2019
Thanks for your reply. But these two issues that you noted are a little different from mine. Mine has to do with subplotting 3 2D data sets.And for some reason, I am unable to do it

Iniciar sesión para comentar.


Zihad Azad
Zihad Azad el 18 de Dic. de 2019
No worries solved it already. Had to define the shading properties after each subplot. That's all:
clc; clear all;
load infinite;
load finite;
load gain;
% transpose matrix is not required
A1= log10(fs1);
A2= log10(fs2);
A3= log10(fs3);
h1=subplot(1,3,1);
p1=pcolor(ky*1e-6,f/1e12,A1);
xlabel('k_{\ity}(m^{-1})(\times 10^6)') ;ylabel('{\itf} (THz)');
title('(a)', 'FontSize', 30,'units','normalized','position',[.1 .9]); %gotta normalize the units to the figure window
set(h1, 'Units', 'normalized');
get(h1, 'Position')
set(h1,'Position',[ 0.07 0.1100 0.27 0.8150]);
%colormap setting
shading interp;
colormap jet;%colormap need to be set to jet for Blue-yellow-red map
h2=subplot(1,3,2);
p2=pcolor(ky*1e-6,f/1e12,A2);
xlabel('k_{\ity}(m^{-1})(\times 10^6)');set(gca,'Yticklabel',[]);
title('(b)', 'FontSize', 30,'units','normalized','position',[.1 .9]);
set(h2, 'Units', 'normalized');
get(h2, 'Position')
set(h2,'Position',[ 0.36 0.1100 0.27 0.8150]);
%colormap setting
shading interp;
colormap jet;
h3=subplot(1,3,3);
p3=pcolor(ky*1e-6,f/1e12,A3);
xlabel('k_{\ity}(m^{-1})(\times 10^6)');set(gca,'Yticklabel',[]);
title('(c)', 'FontSize', 30,'units','normalized','position',[.1 .9]);
set(h3, 'Units', 'normalized');
get(h3, 'Position')
set(h3,'Position',[ 0.65 0.1100 0.29 0.8150]);
%colormap setting
shading interp;
colormap jet;%colormap need to be set to jet for Blue-yellow-red map
%colorbar setting
c = colorbar;
%labels the colorbar vertically as desired
set(get(c,'label'),'string','logscale');
c.TickLength=.023;
c.Units='pixel';
c.FontWeight='bold';
%font properties
FS='Fontsize';
fs=22;
FN='Fontname';
fn='Times New Roman';
set(findall(gcf,'type','axes'),FS,fs,FN,fn);
set(findall(gcf,'type','text'),FS,fs,FN,fn);
% print -depsc dispersion.eps;

Categorías

Más información sobre Colormaps en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by