4.11111

4.1 | 9 ratings Rate this file 33 Downloads (last 30 days) File Size: 2.66 KB File ID: #8597
image thumbnail

Plot 3D Color Line

by Daniel Ennis

 

29 Sep 2005 (Updated 12 Apr 2006)

Plots a 3D line with color encoding along the length using the patch function.

| Watch this File

File Information
Description

This function plots a 3D line (x,y,z) encoded with scalar color data (c). This function is an improvement over the CLINE function previously made available on TMW File Exchange. Rather than using the LINE function a PATCH surface is generated. This provides a way to change the colormapping because the surface patches use indexed colors rather than true colors. Hence changing the COLORMAP or CAXIS of the figure will change the colormapping of the patch object.

DEMO: clinep;

SYNTAX: h=clinep(x,y,z[,c,W]);

INPUTS:
x - mx1 vector of x-position data
   y - mx1 vector of y-position data
   z - mx1 vector of z-position data

 -OPTIONAL INPUTS-

   c - mx1 vector of index color-data (uses current colormap or DEFAULT)
   W - 1x1 specifies the line thickness (DEFAULT is 3)

OUTPUT:
  
   h - Graphics handle to the patch object.

DBE 2005/09/29

P.S. The code is modified from code that generates a 3D tube, rather than a line, but that needs more work still.

Acknowledgements

The author wishes to acknowledge the following in the creation of this submission:
cline.m

MATLAB release MATLAB 7 (R14)
Other requirements None that I know of.
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (10)
05 Oct 2005 sas fgagfsg

eysrr

12 Nov 2005 anon anon  
15 Nov 2005 riki vela

muy bueno, gracias

22 Feb 2006 Neil King

This is great! Just what i was after. Thanks

09 Jun 2006 Peter Gurk

The idea is good, but performance is unacceptable (slow)

27 Nov 2006 Felix Huang

Are cylinder commands really necessary? This is a high performance way to get a color mapped line of zero thickness:

y=patch([q1; q1(end:-1:1)], [q2; q2(end:-1:1)], [[1:length(q1)], [length(q1):-1:1]] ,'EdgeCo', 'none');

17 Oct 2008 rose Campbell

Thanks very useful!

14 Jan 2009 John McArthur

With vector color data (input arg 'c') it seems to divide up the line into 3rds. This is on 2008b

Any thoughts?

28 Jun 2009 Nikola Toljic

Thanks.

22 Apr 2011 Julien

Wrong window, sorry ...

Please login to add a comment or rating.
Updates
12 Apr 2006

Title was too long.

Tag Activity for this File
Tag Applied By Date/Time
specialized Daniel Ennis 22 Oct 2008 08:01:17
plotting Daniel Ennis 22 Oct 2008 08:01:17
color Daniel Ennis 22 Oct 2008 08:01:17
line Daniel Ennis 22 Oct 2008 08:01:17
graphics Daniel Ennis 22 Oct 2008 08:01:17
plot Daniel Ennis 22 Oct 2008 08:01:17
patch Daniel Ennis 22 Oct 2008 08:01:17
line Lennart Scheys 26 May 2011 09:50:42

Contact us at files@mathworks.com