How to create 4 axis on one single plot?

75 views (last 30 days)
i need a plot with 4 axis. Two times abscissa and ordinate, top bottom, left and right. Background: e.g.: log(x) on bottom abscissa and corresponding x on top abscissa.
I tried plotyy, but but didnt get acceptable results
Thanks in advance

Accepted Answer

Christopher Brokmann
Christopher Brokmann on 12 Apr 2018
ax2.XTickLabelMode = 'manual'; ax2.XLim = [0 40];
works fine for this example.

More Answers (2)

M on 12 Apr 2018
Maybe this solution is what you are looking for.

Christopher Brokmann
Christopher Brokmann on 12 Apr 2018
i tried this example, but have some problems to scale the xtick from the upper axis.
figure x1 = 0:0.1:40; y1 = 4.*cos(x1)./(x1+2); line(x1,y1,'Color','r') ax1 = gca; % current axes
ax1_pos = ax1.Position; % position of first axes ax2 = axes('Position',ax1_pos,... 'XAxisLocation','top',... 'YAxisLocation','right',... 'Color','none');
set(ax2,'XTickLabel',[0:5:40]) set(ax2,'xtick',get(ax1,'xtick'))
The set(ax2,'xtick',get(ax1,'xtick')) wont work ...


Find more on Two y-axis 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!

Translated by