draw unconnected segments
xsegs(xv, yv, [style]) xsegs(xv, yv, zv,[style]) h = xsegs(...)
matrices of the same size. If zv is
not specified, a zero vector is used.
vector or scalar. If style is a
positive scalar, it gives the color to use for all
segments. If style is a negative
scalar, then current color is used. If style
is a vector, then style(i) gives the
color to use for segment i.
This optional output contains a handle to the created Segs entity. Use h to modify its properties.
For a list of properties, see segs_properties.
xsegs draws a set of unconnected segments given
by xv, yv and
zv. If xv,
yv and zv are matrices they
are considered as vectors by concatenating their columns. The
coordinates of the two points defining a segment are given by two
consecutive values of xv, yv
and zv:
(xv(i),yv(i),zv(i))-->(xv(i+1),yv(i+1),zv(i+1)).
For instance, using matrices of size (2,n), the
segments can be defined by:
xv=[xi_1 xi_2 ...; xf_1 xf_2...] yv=[yi_1 yi_2 ...; yf_1 yf_2...] zv=[zi_1 zi_2 ...; zf_1 zf_2...]
and the segments are (xi_k,yi_k,zi_k)-->(xf_k,yf_k,zf_k).
// 2D example x=2*%pi*(0:9)/10; xv=[sin(x);9*sin(x)]; yv=[cos(x);9*cos(x)]; plot2d([-10,10],[-10,10],[-1,-1],"022") xsegs(xv,yv,1:10) | ![]() | ![]() |
// 2D example plot2d([-10,10],[-10,10],[-1,-1],"022") xsegs([9, -9],[9 , -9]) // Draw the line from X(9,9) to Y(-9, -9) xsegs([5, -2],[4 , -1]) // Draw the line from X(5,4) to Y(-2, -1) | ![]() | ![]() |
// 3D example clf(); a=gca(); a.view="3d"; f=gcf(); f.color_map=rainbow(120); alpha=2*%pi*(0:119)/40; xv=[sin(alpha)/2;sin(alpha)/3]; yv=[cos(alpha)/2;cos(alpha)/3]; zv=[alpha/8;alpha/8]; e=xsegs(xv,yv,zv,1:120); // Now adjust the data_bounds a.data_bounds = [min(xv) min(yv) min(zv); ... max(xv) max(yv) max(zv)]; // We can add an arrow to each segs e.arrow_size = 0.4; | ![]() | ![]() |

| Version | Description |
| 2025.0.0 | Function returns the created handle(s). |