% H = colormapline(X,Y,Z,C) Plot a line using a specified colormap
% If Z is given, a 3D plot with coordinates X, Y, Z is created.
% If Z is not given, a 2D plot of Y over X if created.
% If Y and Z are not given, a 2D plot of X over 1:length(X) is created.
% The plotted line uses all colors in a given colormap in ascending
% order. Other than with other functions in File Exchange, the color
% does NOT depend on any coordinate.
% Technically, length(colormap) lines are plotted, each with a different
% color from the colormap in ascending order.
% H is a handle to the complete colored line. It can be used to set
% parameters such as linewidth and linestyle.
% C is optional. If it is specified, it is used as a colormap. To use it
% with a 2D plot, use Z= and Y= if required;
%% 2D plot
%% 3D plot
%% Minimal example (2D plot with one input)
% Changes from version 1 (2013-01-23):
% - Returns proper error messages when called
% with input vectors of length < 3 or with different lengths.
% - Exits with the same hold state it was started with.
% - Works with input vectors which are shorter than the colormap.
% For this, the colormap is compressed to the input vector length.
% - Works with colormaps of length 1 or 2
% - Also works with a single input, like plot(). (-> "minimal example")
% Thanks go to Rob Campbell for his comments on some of these points.
Other than stated below, this file was not inspired by by Matteo Niccoli's perceptually improved colormaps. Nevertheless I like them.