Create a right axis which correspond to the first axis.

1 view (last 30 days)
Hello guys. Badly need help. I have a wavenumber-frequency plot. I would like to add a right axis, but in period (1/frequency). Please help with the command. Below is my sample plot. Thank you very much.

Accepted Answer

Chunru on 9 May 2022
Edited: Chunru on 9 May 2022
freq = [1000:10:5000];
wn = [-1.5:0.01:1.5];
p = 1./freq;
h1= axes;
data = randn(length(freq), length(wn));
imagesc(wn, freq, data);
axis xy
% create another axes with same position
% h2 = axes('Position', h1.Position, 'Color', 'none', 'YLim', h1.YLim, 'XTick', [], ...
% 'YAxisLocation', 'right', 'YTickLabel', sprintf('%.2e\n', 1./h1.YTick), 'FontSize', 8);
rightytick = [2.5 3 4]*1e-4;
rightytick = flip(rightytick);
h2 = axes('Position', h1.Position, 'Color', 'none', 'YLim', h1.YLim, 'XTick', [], ...
'YAxisLocation', 'right', ...
'YTick', 1./rightytick, 'YTickLabel', sprintf('%.2e\n', rightytick), 'FontSize', 8);

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!