Code covered by the BSD License  

Highlights from
GRIDXY (v2.2 feb 2008)

4.75
4.8 | 20 ratings Rate this file 68 Downloads (last 30 days) File Size: 2.47 KB File ID: #9973 Version: 1.0
image thumbnail

GRIDXY (v2.2 feb 2008)

by

Jos (10584) (view profile)

 

13 Feb 2006 (Updated )

plot horizontal and vertical grid

| Watch this File

File Information
Description

GRIDXY - Plot grid lines

  GRIDXY(X) plots vertical grid lines at the positions specified by X. GRIDXY(X,Y) also plots horizontal grid lines at the positions specified by Y. GRIDXY uses the current axes, if any. Lines outside the plot area are plotted but not shown. When X or Y is empty no vertical or horizontal lines are plotted.

  The lines are plotted as a single graphics object. H = GRIDXY(..) returns a graphics handle to that line object.

  GRIDXY(..., 'Prop1','Val1','Prop2','Val2', ...) uses the properties and values specified for color, linestyle, etc. Execute GET(H), where H is a line handle, to see a list of line object properties and their current values. Execute SET(H) to see a list of line object properties and legal property values.
 
Examples
% some random plot
  plot(10*rand(100,1), 10*rand(100,1),'bo') ;
% horizontal red dashed grid
  gridxy([1.1 3.2 4.5],'Color','r','Linestyle',':') ;
% vertical solid thicker yellowish grid, and store the handle
  h = gridxy([],[2.1:0.7:5 8],'Color',[0.9 1.0 0.2],'linewidth',3) ;
 
GRIDXY can be used to plot a irregular grid on the axes.

NOTE: This file was previously known as XYREFLINE. I have changed the name to avoid a naming confusion with another function I have created.

Current version 2.2 (feb 2008)

Acknowledgements

This file inspired Reflinexy and Ecopathlite.M: A Matlab Implementation Of Ecopath.

MATLAB release MATLAB 6.5 (R13)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (26)
10 Mar 2015 Bluewater

works for me (R2011b)
Good suggestion from Carey Smith:
gridxy(get(gca,'XTick'),get(gca,'YTick'), 'Color',[1,1,1]*0.4,'Linestyle',':');

12 Jan 2015 Roger Parkyn

Is anyone else having trouble running this on Release 2014B? I have just upgraded to that version and I now find that the uistack function (i.e. where this function puts the new grid-lines at the bottom) takes a very long time to run (I did have a large number of objects but this problem didn't happen on my previous Matlab version).

Comment only
10 Jan 2015 Qinghua

Thank you very much for the sharing. This is also the one that I am looking for.

/Qinghua

24 Aug 2012 Christian  
10 Feb 2012 Dexters

Exactly the one I was looking for
Thanks!!!

31 Aug 2011 Jack

Jack (view profile)

Let me just chime in with all the others...

Great routine! This should be included in Matlab.

26 Jan 2011 Kevin J. Delaney

Fantastic--just what I needed!

01 Jan 2011 Christine J. Lee  
27 Jul 2010 Roger Parkyn

Worked for me thanks.

20 Jul 2010 Carey Smith

% I had to comment-out uistack(h,'bottom') for an imagesc plot
% (Otherwise, the grid lines are not visible.)
% These examples worked for me & simplified some aspects of using this function:
gridxy(get(gca,'XTick'),get(gca,'YTick'), 'Color',[1,1,1]*0.4,'Linestyle',':');

gridxy(get(gca,'XTick'),get(gca,'YTick'), 'Color','y','Linestyle',':');

06 May 2009 Jos (10584)

Jos (10584) (view profile)

@Chiara. You can use, e.g.,
h(1) = gridxy(MedianValue ,'color','r')
h(2) = gridxy(MeanValue ,'color','b')
legend(h,{'Median','Mean'})

hth
Jos

Comment only
06 May 2009 Chiara

Chiara (view profile)

Very useful - but i'd need to add a legend with entries for the vertical bars. EG i have a histogram, and two vertical bars, say one for the mean and one for the median. How can i do this?

06 May 2009 Jos (10584)

Jos (10584) (view profile)

@Phil, in 3D the lines would become planes. Is this what you want? You can also take a look at REFLINEXYZ to see if that better fills your needs:
http://www.mathworks.com/matlabcentral/fileexchange/16746

Comment only
05 May 2009 Phil

Phil (view profile)

Hello everyone,

this code is exactly what I need. Unfortunately I need it in three dimensions. Does any body have an idea?

Otherwise I will try to extend this m-file but I have a feeling that this will take me lots of time

thanks

Philipp

Comment only
03 Apr 2009 Hoi Wong

Hoi Wong (view profile)

Great Program. It'd be even better if it can accept an axes handle as its first input. For the moment, since I need it in a hurry, I tapped into your code and changed this:

function hh = gridxy(hca, x,varargin)

if(isempty(hca))
hca=get(get(0,'currentfigure'),'currentaxes')
end

10 Jun 2008 Laxman P

Very nicely done. This is what should have been in matlab. Thanks for you efforts!!

24 Apr 2008 Mo Al Lawati

Perfect, exactly what I needed !

16 Apr 2008 Rhymer Yang

This is what I need!! Works very well!! Thanks a lot!!

18 Mar 2008 Fred De Masi

Just what I needed, cheers

18 Feb 2008 Jos (the author)

The 'undesired behavior' mentioned by Jim Gerrling has been fixed in v2.2

Comment only
13 Feb 2008 Jim Gerrling

You can fix the axis issue by
set(gca,'Layer','top')

Comment only
13 Feb 2008 Jim Gerrling

Unfortunaltely, the script plots over the Ticks and the axis (let's say you use green gridlines, they print over the ticks and axis).

08 Aug 2007 Abderrezak Bouchedda

very good, thanks

05 Mar 2007 David Ward

Just what I needed, again a very useful script, thanks

31 Mar 2006 Alan Eskovitz

Thank you for a very useful utility. It works well in all of my applications so far.

16 Mar 2006 Peter Nave

Very useful!

Updates
18 Apr 2007

Name change. Add an error check for line properties

Contact us