plot2d — 2D plot
plot2d([x],y) plot2d([x],y,<opt_args>)
a real matrix or vector. If omitted, it is assumed to be the
vector 1:n
where n
is the
number of curve points given by the y
parameter.
a real matrix or vector.
This represents a sequence of statements
key1=value1,key2=value2
,... where
key1
, key2,...
can be one of
the following:
sets the style for each curve. The associated value should be a real vector with integer (positive or negative) values.
sets the mimimal bounds requested for the plot. The
associated value should be a real vector with four entries:
[xmin,ymin,xmax,ymax]
.
sets the scale (linear or logarithmic) along the axes.
The associated value should be a a string with possible
values: "nn"
, "nl"
,
"ln"
and "ll"
.
controls the computation of the actual coordinate ranges from the minimal requested values. The associated value should be an integer ranging from 0 to 8.
specifies how the axes are drawn. The associated value should be an integer ranging from 0 to 5.
sets the axes labels and tics definition. The associated
value should be a real vector with four integer entries
[nx,Nx,ny,Ny].
sets the curves captions. The associated value should be a character string.
plot2d
plots a set of 2D curves. If you are
familiar with Matlab plot
syntax, you should use plot.
If x
and y
are vectors,
plot2d(x,y,<opt_args>) plots vector y
versus
vector x
. x
and y
vectors should have the same number of entries.
If x
is a vector and y
a
matrix plot2d(x,y,<opt_args>) plots each columns of
y
versus vector x
. In this case the
number of columns of y
should be equal to the number of
x
entries.
If x
and y
are matrices,
plot2d(x,y,<opt_args>) plots each columns of y
versus corresponding column of x
. In this case the
x
and y
sizes should be the
same.
If y
is a vector, plot2d(y,<opt_args>)
plots vector y
versus vector
1:size(y,'*')
.
If y
is a matrix, plot2d(y,<opt_args>)
plots each columns of y
versus vector
1:size(y,1)
.
The <opt_args>
arguments should be used to
customize the plot
This option may be used to specify how the curves are drawn. If this option is specified, the associated value should be a vector with as many entries as curves.
if style(i)
is strictly positive, the
curve is drawn as plain line and style(i)
defines the index of the color used to draw the curve (see getcolor). Note that the line style
and the thickness can be set through the polyline entity
properties (see polyline_properties).
Piecewise linear interpolation is done between the given curve points.
if style(i)
is negative or zero, the
given curve points are drawn using marks,
abs(style(i))
defines the mark with id used.
Note that the marks color and marks sizes can be set through
the polyline entity properties (see polyline_properties).
This option may be used to set the scale (linear or
logarithmic) along the axes. The associated value should be a a
string with possible values: "nn"
,
"nl"
, "ln"
and
"ll"
. "l"
stands for
logarithmic scale and graduations and "n"
for
normal scale.
This option may be used to set the mimimal bounds requested for the plot. If this option is specified, the associated value should be a real vector with four entries:
[xmin,ymin,xmax,ymax]
.
xmin
and xmax
defines the
bounds on the abscissae while ymin
and
ymax
defines the bounds on the ordinates.
This argument may be used together with the
frameflag
option to specify how the axes
boundaries are derived from the given rect
argument. If the frameflag
option is not given,
it is supposed to be frameflag=7
.
The axes boundaries can also be customized through the axes entity properties (see axes_properties).
This option may be used to control the computation of the actual coordinate ranges from the minimal requested values. Actual ranges can be larger than minimal requirements.
no computation, the plot use the previous (or default) scale.
The actual range is the range given by the
rect
option.
The actual range is computed from the min/max of the
x
and y
data.
The actual range is the range given by the
rect
option and enlarged to get an
isometric scale.
The actual range is computed from the min/max of the
x
and y
data and
enlarged to get an isometric scale.
The actual range is the range given by the
rect
option and enlarged to get pretty axes
labels.
The actual range is computed from the min/max of the
x
and y
data and
enlarged to get pretty axes labels.
like frameflag=1
but the previous
plot(s) are redrawn to use the new scale. Used to add the
current graph to a previous one.
likeframeflag=2
but the previous
plot(s) are redrawn to use the new scale. Used to add the
current graph to a previous one.
likeframeflag=8
but the range is
enlarged to get pretty axes labels. This is the default
value.
The axes boundaries can also be customized through the axes entity properties (see axes_properties)
This option may be used to specify how the axes are drawn. The associated value should be an integer ranging from 0 to 5 :
nothing is drawn around the plot (axes_visible=["off" "off"];box="off").
axes are drawn, the y-axis is displayed on the left (axes_visible=["on" "on"];box="on",y_location="left").
the plot is surrounded by a box without tics (axes_visible=["off" "off"];box="on").
axes are drawn, the y-axis is displayed on the right (axes_visible=["on" "on"];box="off",y_location="right").
axes are drawn centered in the middle of the frame, the box being not drawn (axes_visible=["on" "on"];box="off",x_location="middle", y_location="middle").
axes are drawn centered in the middle of the frame similarly to
axesflag=4
, the difference being that the box is drawn
(axes_visible=["on" "on"];box="on",x_location="middle",y_location="middle").
axes are drawn, the y-axis is displayed on the left (axes_visible=["on" "on"];box="off",y_location="left"). This is the default value
The axes aspect can also be customized through the axes entity properties (see axes_properties).
This option may be used to specify the axes labels and tics
definition. The associated value should be a real vector with four integer entries
[nx,Nx,ny,Ny]
.
Nx
gives the number of main tics to be used
on the x-axis (to use autoticks set it to -1), nx
gives the number of
subtics to be drawn between two main x-axis tics.
Ny
and ny
give similar
information for the y-axis.
If axesflag
option is not set
nax
option supposes that
axesflag
option has been set to 9.
This option may be used to sets the curve captions. It must be
a string with the form "leg1@leg2@...."
where
leg1
, leg2
, etc. are
respectively the captions of the first curve, of the second curve,
etc. The default is " "
.
The curve captions are drawn on below the x-axis. This option is not flexible enough, use the captions or legend functions preferably.
To get more information on the plot2d old syntax , use the plot2d_old_version help document.
By default, successive plots are superposed. To clear the previous
plot, use clf()
.
Enter the command plot2d()
to see a demo.
Other high level plot2d functions exist:
plot2d2 same as plot2d
but the curve is
supposed to be piecewise constant.
plot2d3 same as plot2d
but the curve is
plotted with vertical bars.
plot2d4 same as plot2d
but the curve is
plotted with vertical arrows.
// x initialisation x=[0:0.1:2*%pi]'; //simple plot plot2d(sin(x)); clf(); plot2d(x,sin(x)); //multiple plot clf(); plot2d(x,[sin(x) sin(2*x) sin(3*x)]) // multiple plot giving the dimensions of the frame clf(); plot2d(x,[sin(x) sin(2*x) sin(3*x)],rect=[0,0,6,0.5]); //multiple plot with captions and given tics + style clf(); plot2d(x,[sin(x) sin(2*x) sin(3*x)],.. [1,2,3],leg="L1@L2@L3",nax=[2,10,2,10],rect=[0,-2,2*%pi,2]); // isoview clf(); plot2d(x,sin(x),1,frameflag= 4); // scale clf(); plot2d(x,sin(x),1,frameflag= 6); // auto scaling with previous plots + style clf(); plot2d(x,sin(x),-1); plot2d(x,2*sin(x),12); plot2d(2*x,cos(x),3); // axis on the right clf(); plot2d(x,sin(x),leg="sin(x)"); a=gca(); // Handle on axes entity a.y_location ="right"; // axis centered at (0,0) clf(); plot2d(x-4,sin(x),1,leg="sin(x)"); a=gca(); // Handle on axes entity a.x_location = "origin"; a.y_location = "origin"; // Some operations on entities created by plot2d ... a=gca(); a.isoview='on'; a.children // list the children of the axes. // There are a compound made of two polylines and a legend poly1= a.children(1).children(1); //store polyline handle into poly1 poly1.foreground = 4; // another way to change the style... poly1.thickness = 3; // ...and the tickness of a curve. poly1.clip_state='off'; // clipping control leg = a.children(2); // store legend handle into leg leg.font_style = 9; leg.line_mode = "on"; a.isoview='off';