| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| 15.2.1 Graphics Objects | ||
| 15.2.2 Graphics Object Properties | ||
| 15.2.3 Managing Default Properties | ||
| 15.2.4 Colors | ||
| 15.2.5 Line Styles | ||
| 15.2.6 Marker Styles | ||
15.2.7 Interaction with gnuplot |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Plots in Octave are constructed from the following graphics objects. Each graphics object has a set of properties that define its appearance and may also contain links to other graphics objects. Graphics objects are only referenced by a numeric index, or handle.
The parent of all figure objects. The index for the root figure is defined to be 0.
A figure window.
An set of axes. This object is a child of a figure object and may be a parent of line, text, image, patch, or surface objects.
A line in two or three dimensions.
Text annotations.
A bitmap image.
A filled polygon, currently limited to two dimensions.
A three-dimensional surface.
To determine whether an object is a graphics object index or a figure
index, use the functions ishandle and isfigure.
Return true if h is a graphics handle and false otherwise.
Return true if h is a graphics handle that contains a figure object and false otherwise.
The function gcf returns an index to the current figure object,
or creates one if none exists. Similarly, gca returns the
current axes object, or creates one (and its parent figure object) if
none exists.
Return the current figure handle. If a figure does not exist, create one and return its handle. The handle may then be used to examine or set properties of the figure. For example,
fplot (@sin, [-10, 10]); fig = gcf (); set (fig, "visible", "off"); |
plots a sine wave, finds the handle of the current figure, and then
makes that figure invisible. Setting the visible property of the
figure to "on" will cause it to be displayed again.
See also: get, set.
Return a handle to the current axis object. If no axis object exists, create one and return its handle. The handle may then be used to examine or set properties of the axes. For example,
ax = gca (); set (ax, "position", [0.5, 0.5, 0.5, 0.5]); |
creates an empty axes object, then changes its location and size in
the figure window.
See also: get, set.
The get and set functions may be used to examine and set
properties for graphics objects. For example,
get (0)
⇒ ans =
{
type = root figure
currentfigure = [](0x0)
children = [](0x0)
visible = on
}
|
returns a structure containing all the properties of the root figure.
As with all functions in Octave, the structure is returned by value, so
modifying it will not modify the internal root figure plot object. To
do that, you must use the set function. Also, note that in this
case, the currentfigure property is empty, which indicates that
there is no current figure window.
The get function may also be used to find the value of a single
property. For example,
get (gca (), "xlim")
⇒ [ 0 1 ]
|
returns the range of the x-axis for the current axes object in the current figure.
To set graphics object properties, use the set function. For example,
set (gca (), "xlim", [-10, 10]); |
sets the range of the x-axis for the current axes object in the current figure to `[-10, 10]'. Additionally, calling set with a graphics object index as the only argument returns a structure containing the default values for all the properties for the given object type. For example,
set (gca ()) |
returns a structure containing the default property values for axes objects.
Return the named property p from the graphics handle h. If p is omitted, return the complete property list for h. If h is a vector, return a cell array including the property values or lists respectively.
Set the named property value or vector p to the value v for the graphics handle h.
Return the first ancestor of handle object h whose type matches type, where type is a character string. If type is a cell array of strings, return the first parent whose type matches any of the given type strings.
If the handle object h is of type type, return h.
If "toplevel" is given as a 3rd argument, return the highest
parent in the object hierarchy that matches the condition, instead
of the first (nearest) one.
See also: get, set.
You can create axes, line, and patch objects directly using the
axes, line, and patch functions. These objects
become children of the current axes object.
Create an axes object and return a handle to it.
Create line object from x and y and insert in current axes object. Return a handle (or vector of handles) to the line objects created.
Multiple property-value pairs may be specified for the line, but they must appear in pairs.
Create patch object from x and y with color c and insert in the current axes object. Return handle to patch object.
For a uniform colored patch, c can be given as an RGB vector, scalar value referring to the current colormap, or string value (for example, "r" or "red").
Plot a surface graphic object given matrices x, and y from
meshgrid and a matrix z corresponding to the x and
y coordinates of the surface. If x and y are vectors,
then a typical vertex is (x(j), y(i), z(i,j)). Thus,
columns of z correspond to different x values and rows of
z correspond to different y values. If x and y
are missing, they are constructed from size of the matrix z.
Any additional properties passed are assigned the the surface..
See also: surf, mesh, patch, line.
By default, Octave refreshes the plot window when a prompt is printed,
or when waiting for input. To force an update at other times, call the
drawnow function.
Update and display the current graphics.
Octave automatically calls drawnow just before printing a prompt,
when sleep or pause is called, or while waiting for
command-line input.
Normally, high-level plot functions like plot or mesh call
newplot to initialize the state of the current axes so that the
next plot is drawn in a blank window with default property settings. To
have two plots superimposed over one another, call the hold
function. For example,
hold ("on");
x = -10:0.1:10;
plot (x, sin (x));
plot (x, cos (x));
hold ("off");
|
displays sine and cosine waves on the same axes. If the hold state is off, consecutive plotting commands like this will only display the last plot.
Prepare graphics engine to produce a new plot. This function should be called at the beginning of all high-level plotting functions.
Tell Octave to `hold' the current data on the plot when executing subsequent plotting commands. This allows you to execute a series of plot commands and have all the lines end up on the same figure. The default is for each new plot command to clear the plot device first. For example, the command
hold on |
turns the hold state on. An argument of "off" turns the hold
state off, and hold with no arguments toggles the current hold
state.
Return true if the next line will be added to the current plot, or false if the plot device will be cleared before drawing the next line.
To clear the current figure, call the clf function. To bring it
to the top of the window stack, call the shg function. To delete
a graphics object, call delete on its index. To close the
figure window, call the close function.
Clear the current figure.
See also: close, delete.
Show the graph window. Currently, this is the same as executing
drawnow.
See also: drawnow, figure.
Delete the named file or figure handle.
Close figure window(s) by calling the function specified by the
"closerequestfcn" property for each figure. By default, the
function closereq is used.
See also: closereq.
Close the current figure and delete all graphics objects associated
with it.
See also: close, delete.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
currentfigureIndex to graphics object for the current figure.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
nextplotMay be one of
"new""add""replace""replacechildren"closerequestfcnHandle of function to call when a figure is closed.
currentaxesIndex to graphics object of current axes.
colormapAn N-by-3 matrix containing the color map for the current axes.
visibleEither "on" or "off" to toggle display of the figure.
paperorientationIndicates the orientation for printing. Either "landscape" or
"portrait".
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
positionA four-element vector specifying the coordinates of the lower left
corner and width and height of the plot, in normalized units. For
example, [0.2, 0.3, 0.4, 0.5] sets the lower left corner of the
axes at (0.2, 0.3) and the width and height to be 0.4 and 0.5
respectively.
titleIndex of text object for the axes title.
boxEither "on" or "off" to toggle display of the box around
the axes.
keyEither "on" or "off" to toggle display of the legend.
Note that this property is not compatible with MATLAB and may be
removed in a future version of Octave.
keyboxEither "on" or "off" to toggle display of a box around the
legend. Note that this property is not compatible with MATLAB and
may be removed in a future version of Octave.
keyposAn integer from 1 to 4 specifying the position of the legend. 1 indicates upper right corner, 2 indicates upper left, 3 indicates lower left, and 4 indicates lower right. Note that this property is not compatible with MATLAB and may be removed in a future version of Octave.
dataaspectratioA two-element vector specifying the relative height and width of the
data displayed in the axes. Setting dataaspectratio to `1,
2]' causes the length of one unit as displayed on the y axis to be the
same as the length of 2 units on the x axis. Setting
dataaspectratio also forces the dataaspectratiomode
property to be set to "manual".
dataaspectratiomodeEither "manual" or "auto".
xlimylimzlimclimTwo-element vectors defining the limits for the x, y, and z axes and the
Setting one of these properties also forces the corresponding mode
property to be set to "manual".
xlimmodeylimmodezlimmodeclimmodeEither "manual" or "auto".
xlabelylabelzlabelIndices to text objects for the axes labels.
xgridygridzgridEither "on" or "off" to toggle display of grid lines.
xminorgridyminorgridzminorgridEither "on" or "off" to toggle display of minor grid lines.
xtickytickztickSetting one of these properties also forces the corresponding mode
property to be set to "manual".
xtickmodeytickmodeztickmodeEither "manual" or "auto".
xticklabelyticklabelzticklabelSetting one of these properties also forces the corresponding mode
property to be set to "manual".
xticklabelmodeyticklabelmodezticklabelmodeEither "manual" or "auto".
xscaleyscalezscaleEither "linear" or "log".
xdirydirzdirEither "forward" or "reverse".
xaxislocationyaxislocationEither "top" or "bottom" for the x axis and "left"
or "right" for the y axis.
viewA three element vector specifying the view point for three-dimensional plots.
visibleEither "on" or "off" to toggle display of the axes.
nextplotMay be one of
"new""add""replace""replacechildren"outerpositionA four-element vector specifying the coordinates of the lower left
corner and width and height of the plot, in normalized units. For
example, [0.2, 0.3, 0.4, 0.5] sets the lower left corner of the
axes at (0.2, 0.3) and the width and height to be 0.4 and 0.5
respectively.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
xdataydatazdataldataudataxldataxudataThe data to be plotted. The ldata and udata elements are
for errobars in the y direction, and the xldata and xudata
elements are for errorbars in the x direction.
colorThe RGB color of the line, or a color name. See section Colors.
linestylelinewidthSee section Line Styles.
markermarkeredgecolormarkerfacecolormarkersizeSee section Marker Styles.
keylabelThe text of the legend entry corresponding to this line. Note that this property is not compatible with MATLAB and may be removed in a future version of Octave.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
stringThe character string contained by the text object.
unitsMay be "normalized" or "graph".
positionThe coordinates of the text object.
rotationThe angle of rotation for the displayed text, measured in degrees.
horizontalalignmentMay be "left", "center", or "right".
colorThe color of the text. See section Colors.
fontnameThe font used for the text.
fontsizeThe size of the font, in points to use.
fontangleFlag whether the font is italic or normal. Valid values are 'normal', 'italic' and 'oblique'.
fontweightFlag whether the font is bold, etc. Valid values are 'normal', 'bold', 'demi' or 'light'.
interpreterDetermines how the text is rendered. Valid values are 'none', 'tex' or 'latex'.
All text objects, including titles, labels, legends, and text, include the property 'interpreter', this property determines the manner in which special control sequences in the text are rendered. If the interpreter is set to 'none', then no rendering occurs. At this point the 'latex' option is not implemented and so the 'latex' interpreter also does not interpret the text.
The 'tex' option implements a subset of TEX functionality in the rendering of the text. This allows the insertion of special characters such as Greek or mathematical symbols within the text. The special characters are also inserted with a code starting with the back-slash (\) character, as in the table tab:extended.
In addition, the formating of the text can be changed within the string with the codes
\bf | Bold font | ||
\it | Italic font | ||
\sl | Oblique Font | ||
\rm | Normal font |
These are be used in conjunction with the { and } characters to limit the change in the font to part of the string. For example
xlabel ('{\bf H} = a {\bf V}')
|
where the character 'a' will not appear in a bold font. Note that to avoid having Octave interpret the backslash characters in the strings, the strings should be in single quotes.
It is also possible to change the fontname and size within the text
\fontname{fontname} | Specify the font to use | ||
\fontsize{size} | Specify the size of the font to use |
Finally, the superscript and subscripting can be controlled with the '^' and '_' characters. If the '^' or '_' is followed by a { character, then all of the block surrounded by the { } pair is super- or sub-scripted. Without the { } pair, only the character immediately following the '^' or '_' is super- or sub-scripted.
\forall | \exists | \ni | ||
\cong | \Delta | \Phi | ||
\Gamma | \vartheta | \Lambda | ||
\Pi | \Theta | \Sigma | ||
\varsigma | \Omega | \Xi | ||
\Psi | \perp | \alpha | ||
\beta | \chi | \delta | ||
\epsilon | \phi | \gamma | ||
\eta | \iota | \kappa | ||
\lambda | \mu | \nu | ||
\o | \pi | \theta | ||
\rho | \sigma | \tau | ||
\upsilon | \varpi | \omega | ||
\xi | \psi | \zeta | ||
\sim | \Upsilon | \prime | ||
\leq | \infty | \clubsuit | ||
\diamondsuit | \heartsuit | \spadesuit | ||
\leftrightarrow | \leftarrow | \uparrow | ||
\rightarrow | \downarrow | \circ | ||
\pm | \geq | \times | ||
\propto | \partial | \bullet | ||
\div | \neq | \equiv | ||
\approx | \ldots | \mid | ||
\aleph | \Im | \Re | ||
\wp | \otimes | \oplus | ||
\oslash | \cap | \cup | ||
\supset | \supseteq | \subset | ||
\subseteq | \in | \langle | ||
\rangle | \nabla | \surd | ||
\cdot | \neg | \wedge | ||
\vee | \copyright | \rfloor | ||
\lceil | \lfloor | \rceil | ||
\int |
Table 15.1: Available special characters in TEX mode
A complete example showing the capabilities of the extended text is
x = 0:0.01:3;
plot(x,erf(x));
hold on;
plot(x,x,"r");
axis([0, 3, 0, 1]);
text(0.65, 0.6175, strcat('\leftarrow x = {2/\surd\pi',
' {\fontsize{16}\int_{\fontsize{8}0}^{\fontsize{8}x}}',
' e^{-t^2} dt} = 0.6175'))
|
The result of which can be seen in fig:extendedtext
Figure 15.7: Example of inclusion of text with the TEX interpreter
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
cdataThe data for the image. Each pixel of the image corresponds to an
element of cdata. The value of an element of cdata
specifies the row-index into the colormap of the axes object containing
the image. The color value found in the color map for the given index
determines the color of the pixel.
xdataydataTwo-element vectors specifying the range of the x- and y- coordinates for the image.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
cdataxdataydatazdataData defining the patch object.
facecolorThe fill color of the patch. See section Colors.
facealphaA number in the range [0, 1] indicating the transparency of the patch.
edgecolorThe color of the line defining the patch. See section Colors.
linestylelinewidthSee section Line Styles.
markermarkeredgecolormarkerfacecolormarkersizeSee section Marker Styles.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
xdataydatazdataThe data determining the surface. The xdata and ydata
elements are vectors and zdata must be a matrix.
keylabelThe text of the legend entry corresponding to this surface. Note that this property is not compatible with MATLAB and may be removed in a future version of Octave.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Object properties have two classes of default values, factory defaults (the initial values) and user-defined defaults, which may override the factory defaults.
Although default values may be set for any object, they are set in parent objects and apply to child objects. For example,
set (0, "defaultlinecolor", "green"); |
sets the default line color for all objects. The rule for constructing the property name to set a default value is
default + object-type + property-name |
This rule can lead to some strange looking names, for example
defaultlinelinewidth" specifies the default linewidth
property for line objects.
The example above used the root figure object, 0, so the default property value will apply to all line objects. However, default values are hierarchical, so defaults set in a figure objects override those set in the root figure object. Likewise, defaults set in axes objects override those set in figure or root figure objects. For example,
subplot (2, 1, 1); set (0, "defaultlinecolor", "red"); set (1, "defaultlinecolor", "green"); set (gca (), "defaultlinecolor", "blue"); line (1:10, rand (1, 10)); subplot (2, 1, 2); line (1:10, rand (1, 10)); figure (2) line (1:10, rand (1, 10)); |
produces two figures. The line in first subplot window of the first figure is blue because it inherits its color from its parent axes object. The line in the second subplot window of the first figure is green because it inherits its color from its parent figure object. The line in the second figure window is red because it inherits its color from the global root figure parent object.
To remove a user-defined default setting, set the default property to
the value "remove". For example,
set (gca (), "defaultlinecolor", "remove"); |
removes the user-defined default line color setting from the current axes object.
Getting the "default" property of an object returns a list of
user-defined defaults set for the object. For example,
get (gca (), "default"); |
returns a list of user-defined default values for the current axes object.
Factory default values are stored in the root figure object. The command
get (0, "factory"); |
returns a list of factory defaults.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Colors may be specified as RGB triplets with values ranging from zero to
one, or by name. Recognized color names include "blue",
"black", "cyan", "green", "magenta",
"red", "white", and "yellow".
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Line styles are specified by the following properties:
linestyleMay be one of
"-"Solid lines.
"--"Dashed lines.
":"Points.
"-."A dash-dot line.
linewidthA number specifying the width of the line. The default is 1. A value of 2 is twice as wide as the default, etc.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Marker styles are specified by the following properties:
markerA character indicating a plot marker to be place at each data point, or
"none", meaning no markers should be displayed.
markeredgecolorThe color of the edge around the marker, or "auto", meaning that
the edge color is the same as the face color. See section Colors.
markerfacecolorThe color of the marker, or "none" to indicate that the marker
should not be filled. See section Colors.
markersizeA number specifying the size of the marker. The default is 1. A value of 2 is twice as large as the default, etc.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
gnuplot Query or set the name of the program invoked by the plot command.
The default value "gnuplot". See section Installing Octave.
If enabled, append `-title "Figure NN"' to the gnuplot command.
By default, this feature is enabled if the DISPLAY environment
variable is set when Octave starts.
This function is obsolete and will be removed from a future version of Octave.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated on December, 26 2007 using texi2html 1.76.