How to plot and label a secondary x-axis in log?

4 次查看(过去 30 天)
I tried to make a secondary x-axis but instead of 10^-3 to 10^1 like the primary x-axis (frequency), I wanted it to be 10^3 to 10^-1 since it should be in days. I tried plotting it using plotxx but I have difficulty getting log values. It should look like this.
figure
ax1=axes;
loglog(freq*24,PSDm,-1./freq/24,NaN*freq)
axis tight
ylim([1e1 1e11])
hold on
ax2=axes;
set(ax2,'Color','none')
set(ax2,'Ytick',[])
set(ax2,'XAxisLocation','top')
% xt = get(ax1,'XTick');
% set(ax2,'XTickLabel',xt)
xlabel(ax1,'frequency [cpd]')
xlabel(ax2,'period [days]')
ylabel(ax1,'kinetic energy density [m^2.s^{-2}/cpd]')
title('JOLO Residual Tides')

采纳的回答

Sam
Sam 2021-7-9
编辑:Sam 2021-7-9
A better way to go about this would be to have two different plots, and in one of them move the x - axis location to the top and do not label the y-axis. Refer to this official documentation provided by Mathworks for the same here
  1 个评论
Sammy
Sammy 2021-7-15
Thanks! The plot above is made using plotxx( ) but without the log function. So you have to log the variables first. But thank you still, Sam. (:

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Multirate Signal Processing 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by