Code covered by the BSD License  

Highlights from
hline and vline

4.86111

4.9 | 38 ratings Rate this file 370 Downloads (last 30 days) File Size: 3.27 KB File ID: #1039
image thumbnail

hline and vline

by Brandon Kuczenski

 

08 Nov 2001 (Updated 09 Nov 2001)

Draws 'low-impact' horizontal or vertical lines on the current axes

Editor's Notes:

This file was a File Exchange Pick of the Week

| Watch this File

File Information
Description

These functions draw horizontal or vertical lines at specified places on the current axes. The axes are automatically held for the drawing of the lines, and restored to their previous 'hold' states afterwards. THe HandleVisibility of the new lines is "off" so that they don't appear on legends. (Incidentally, this also makes them invisible to moveplot.m and addplot.m) Objects with HandleVisibility set to off can be "found" by setting the root object's "ShowHiddenHandles" property to "on". Also, if an output argument is specified, the function will return the handle to the otherwise 'hidden' object.

Further arguments allow the user to set the linetype and color of the line (default is 'r:'), and to add labels. For example:

h = vline(42,'g','The Answer')

will return a handle to a vertical line at x=42 on the current axes, colored green, and with a text label "The Answer" on the axes close to the line, and in the same color of the line.

hline and vline both accept vector inputs.

Acknowledgements
This submission has inspired the following:
data_marker, Advanced hline and vline, Demos from Image Processing Webinar 2006, MRI Brain Segmentation, Thresholding Tool, Manual Thresholding Tool, Improved 'vline'
MATLAB release MATLAB 6.0 (R12)
Other requirements Tested on Win 98 and 2K. Functionality is not dependent on Matlab R12.
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (40)
16 Nov 2001 Larry Friese

Very nice, but I get two extra data elements in the plot legend? Is there a way around that?

23 Jan 2004 H Z

it's very handy and useful!!! Thanks:)

01 Apr 2004 confidential confidential

fast and easy!

21 Sep 2004 Wolfgang Stiegmaier

Excellent, easy to use, very effective, good work!

20 Oct 2004 Nahur Fonseca

thanks for writing this.
It's amazing how matlab runtime library did not have such a function built-in.

27 Oct 2004 Stephen Sester

This function meets the common need for drawing simple horz and vert lines on plots. Very nice addition to my tools; should be incorporated into future plot revision. Thank you for taking the time to share your work.

17 Nov 2004 Mike Jennings

This is an excellent, easy to use tool to add a reference line in your plot figure. Can also be customized for color and linetypes. Good Job.

14 Jan 2005 Kedar Patel

Thanks!

Handy lil' time saver.

20 Jan 2005 James Tedd

very handy

03 Feb 2005 Min Poh

test

04 Feb 2005 Krishna Pillai

Nice handy function. Good job

11 Apr 2005 Dimitri Shvorob

When I use VLINE, and later resize the axis with AXIS, vertical line's limits remain unadjusted.

14 Jul 2005 Andy N.

Very Handy

03 Oct 2005 Chris H

perfect for what i needed.

20 Nov 2005 carlo murgia  
20 Mar 2006 Felix Totir

Should be Matlab standard functions.

11 Apr 2006 Simon B

Great tool - one enhancement would be to allow for restricting the range of the lines.

06 Jun 2006 John D'Errico

Very nice. My only (minor) comment would be it might be nice to control the location of the annotation text. I do agree that this is functionality that should have always been in matlab.

By the way, if anyone is worried, it works on a mac also. This is not system specific code.

09 May 2007 Josiah Haswell

Awesome! At least sizeof(long) times better than doing it the standard way.

22 Jun 2007 Greg L

Works great for linear axes. The location of the label is off if it has logrithmic axes.

12 Nov 2007 nimat r

Thanks a lot.It's very nice.

21 May 2008 Ben Kang

Very nice.

24 Sep 2008 B K

Great tool, thanks for submitting!

14 Oct 2008 K R

Thanks - this saves a lot of time and trouble!

23 Mar 2009 Storm Zhang

This really saves me a lot of time. Matlab should put these two small programs into the standard library.

21 Apr 2009 Zafrir  
21 Apr 2009 Zafrir

Good job!!! Very good

08 Jul 2009 Matteo  
02 Oct 2009 Kevin

handy little tool

26 Jan 2010 Alejandro Arrizabalaga  
17 Mar 2010 Pete

Quick, simple and effective. Excellent.

19 Mar 2010 John

I could not find these two in the Matlab stand function list. They are handy and should be standard functions. Any one know the reason why NOT? Excellent job, Brandon!

12 May 2010 Marit  
24 Jun 2010 Akshay

Very helpful and simple. Thanks!
I just made a minor change to the 'vline' function (to make the labels vertical):
Changed:
text(x+0.01*xrange,y(1)+0.1*(y(2)-y(1)),label,'color',get(h,'color'))
to:
text(x+0.02*xrange,y(1)+0.1*(y(2)-y(1)),label,...
'color',get(h,'color'),'Rotation',90)
and changed:
text(x-.05*xrange,y(1)+0.1*(y(2)-y(1)),label,'color',get(h,'color'))
to:
text(x-.01*xrange,y(1)+0.1*(y(2)-y(1)),label,...
'color',get(h,'color'),'Rotation',90)

18 Aug 2010 Matteo  
05 Oct 2010 Jimmy  
22 Jun 2011 Qiang  
20 Jul 2011 TAFKARS

I meant to say...very helpful tool. Slight adjustment to code wrt linewidth etc to suit my personal taste/need, otherwise good job.

20 Jul 2011 Tongchao

Great functions! Just what I need
It will be better if the location of text label can be arbitrarily specified.

22 Sep 2011 Abdullah

Exactly what I wanted !

Please login to add a comment or rating.
Tag Activity for this File
Tag Applied By Date/Time
annotation Brandon Kuczenski 22 Oct 2008 06:39:11
customization Brandon Kuczenski 22 Oct 2008 06:39:11
horizontal Brandon Kuczenski 22 Oct 2008 06:39:11
line Brandon Kuczenski 22 Oct 2008 06:39:11
graphics Brandon Kuczenski 22 Oct 2008 06:39:11
axes Brandon Kuczenski 22 Oct 2008 06:39:11
vertical Brandon Kuczenski 22 Oct 2008 06:39:11
plot tools Mathias Vanwolleghem 22 Oct 2010 13:11:06
customization Sourav Chatterjee 03 Jun 2011 18:51:22

Contact us at files@mathworks.com