No BSD License  

Highlights from
LinkTopAxisData

4.42857

4.4 | 7 ratings Rate this file 30 Downloads (last 30 days) File Size: 3.93 KB File ID: #12131
image thumbnail

LinkTopAxisData

by

 

01 Sep 2006 (Updated )

Adds a linked second x axis to a plot

| Watch this File

File Information
Description

This function will add a second x axis to a plot with the top ticks at arbitrary positions (you are not limited to the bottom tick positions). The new axis is created behind the original axis, and the two axes are linked together. This gives a much more intuitive behaviour, for example clicking in the figure window will select the original axis. It also alows you to drag the plot around, resize the limits and change between a log/linear scale without having to update the dummy axis manually.

Acknowledgements

Add Top X Axis With Different Scale inspired this file.

MATLAB release MATLAB 7.1.0 (R14SP3)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (9)
02 Jul 2014 Chad Greene

This function works well, especially after making the changes recommended by Christos are good. I also recommend adding this to the very end:

if nargout==0
clear newAxis
end

This will suppress output if the user does not want to create a new variable in the workspace.

Tim, thanks for sharing, and Christos, thanks for the suggestions.

30 Jun 2014 p kung  
28 Apr 2012 Aaron Vincent  
21 Jul 2010 Christos Saragiotis

Good job. Two comments

Comment 1: I think it is a good idea to change lines 46 and 49 as follows:
(46) temp=[TopTickPositions(:), TopTickLabels(:)];
(49) temp = sortrows(temp);
This will allow users to enter either row or column vectors (or both) for the ticks and labels.

Comment 2 (regarding the bug that Thierry reported):
It can be fixed if line 50 is replaced by
temp(diff(temp(:,1))==0,:) = [];

14 Aug 2009 K R

Thank you so much for this submission! It took me 15 minutes of playing around with it to figure it out (it wasn't immediately clear to me that TopTickPositions were the positions on the original axis and that TopTickLabels were the associated values on the new axis). But it works great! I really appreciate it - thanks!!

09 Nov 2007 Thierry Dalon

small bug:
line temp=temp(diff(temp(:,1))>0,:);
will always remove on tick label.

30 Nov 2006 Frederic Moisy

Works well, very useful for me. Thanks!

15 Sep 2006 Tim Richards

Many thanks for your comment. I have changed the example and added a screenshot.

06 Sep 2006 F Moisy

1. The example does not work (??? Undefined function or variable 'T')
2. This kind of submission typically requires a screenshot!

Contact us