How to change axes in tiledlayout with different x and y axes

23 次查看(过去 30 天)
I have 3 data sets with 2 different x axes, which I like to plot as a stackedplot. As far as I understood, this is not possible for a stackedplot, as I always need the same x axes. So I used tiledlayout and ploted those 3 separetely. When I try to adjust the XLimits and YLimits I get errors.
This is what I did so far:
XAxislow = 400;
XAxishigh = 1800;
t=tiledlayout(3,1);
ax1 = nexttile;
plot(wave_raman,spec_raman);
ax1 = gca;
ax1.Box = 'off';
ax1.FontSize=11;
ax1.LineWidth=1.2;
ax1.XLimits = [XAxislow XAxishigh];
ax1.YLimits= [0 400];
ax2 = nexttile;
ln2 = plot(wave_gauss3*A3,spec_gauss3);
ax2 = gca;
ax2.Box = 'off';
ax2.FontSize=11;
ax2.LineWidth=1.2;
ax2.XLimits = [XAxislow XAxishigh];
ax2.AxesProperties.YLimits= [0 40];
ax3 = nexttile;
ln3 = plot(wave_gauss4*A4,spec_gauss4);
ax3 = gca;
ax3.Box = 'off';
ax3.FontSize=11;
ax3.LineWidth=1.2;
ax3.XLimits = [XAxislow XAxishigh];
ax3.AxesProperties.YLimits= [0 40];
txt = xlabel(t,'Raman shift [cm^{-1}]');
txt2 = ylabel(t,'Raman intensity');
t.TileSpacing = 'tight'; %compact tight none
t.Padding = 'compact'; %compact tight
txt.FontSize = 12;
txt.Color = 'black';
txt2.FontSize = 12;
txt2.Color = 'black';

采纳的回答

Simon Chan
Simon Chan 2022-4-13
In order to set the limits, use the following
ax1.XLim = [XAxislow XAxishigh];
ax1.YLim = [0 400];
instead of
ax1.XLimits = [XAxislow XAxishigh];
ax1.YLimits= [0 400];
  1 个评论
Raphael
Raphael 2022-4-13
Thanks. I got confused with the different commands for different functions. Your suggestions work well. Do you have another suggestion how to create a nice stackedplot with different x axes?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Graphics Performance 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by