| AHELP for CIAO 4.5 ChIPS v1 | add_label |
Context: labels |
Synopsis
Creates a label.
Syntax
add_label( [ChipsId,] xpos, ypos, text [,attributes]) Labels can also be created directly from the GUI using the "Annotate" menu item.
Description
- ChipsId - an optional ChipsId structure containing values to modify the currency state for the command.
- xpos, ypos - the location of the label; the current coordinate system is used if one is not specified.
- text - the text of the label. Latex formatting is supported.
- attributes - optional parameters which allow the user to configure properties though a structure, list, or attribute string.
The add_label command creates a label whose attributes are specified by user preferences or in an attribute list. The new label becomes current by default; providing a ChipsId overrides the currency state.
The position of the label is specified as a coordinate pair (xpos, ypos) in data, pixel, frame, or plot normalized coordinates. Labels specified in data coordinates will only be displayed if the are within the coordinate system range.
Alignment
Alignment attributes control how the text string is situated in relation to the reference position. Horizontal alignment can be specified as left (0), center (.5), right (1), or a numeric ratio of the text length. Vertical alignment is similarly controlled: bottom (0), center (.5), top (1), or a numeric ratio.
Customizing the Label
There are several attributes that control the label characteristics. The attributes can be set to the ChIPS defaults, values provided in the add_label command, or values from the user's preference file.
The attributes may also be modified with the set_label command at any time; see "ahelp set_label" and "ahelp setget" for more information.
Please see the section "Label Preferences and Attributes" below the examples for a list of the label preferences.
Example 1
chips> add_label(0.4, 0.5, "area={\\pi}r^2")Add a label at position (.4,.5). Latex formatting is used in the label text, so the "\" character had to be protected. Alternatively, the r qualifier could have been used:
chips> add_label(0.4, 0.5, r"area={\pi}r^2")Example 2
chips> add_label(100, 100, "Fig. B", ["color", "blue", "size", 14])
Create a blue label, specifying the attribute values in a list.
Example 3
chips> clear() chips> add_curve([1,2,3], [-9,2,-2]) chips> add_label(2, -6, "In data coordinates") chips> add_label(0.5, 0.92, "Frame coords", ["halign", 0.5, "coordsys", FRAME_NORM]) chips> add_label(0.1, 0.9, "Plot coords", ["coordsys", PLOT_NORM]) chips> limits(X_AXIS, 1.5, 4)
Three labels are added: the first is placed in the data-coordinate system created by the add_curve call; the second is placed in frame-normalized coordinates, and so appears as a plot title (the text has been horizontally aligned so that its center is at the middle of the frame); and the third is placed in plot-normalized coordinates (so appears at the top-left corner of the plot). The limits call causes only the first label to move; the second and third labels do not change position.
Example 4
chips> lbl = ChipsLabel() chips> lbl.color = "blue" chips> lbl.size = 8 chips> lbl.stem = "MyLabel" chips> add_label(100, 100, "Figure A", lbl)
Populate the "lbl" structure with the attribute values, then add the label "Figure A".
Label Preferences and Attributes
The attributes associated with labels are given in the following table, where the "Set?" column refers to whether the attribute can be changed using the set_label() command. To change the label preference settings prepend "label." to the attribute name.
| Attribute | Description | Options | Default | Set? |
|---|---|---|---|---|
| angle | Angle, in degrees, at which the label is drawn | -360.0 to 360.0 | 0.0 | Yes |
| color | Color of the text | name or hex; see the Color section of "ahelp chipsopt" | default | Yes |
| coordsys | coordinate system for the label | PIXEL, WINDOW_NORM, FRAME_NORM, PLOT_NORM, DATA | see "ahelp coordsys" | No |
| depth | Integer value indicating label depth | see the Depth section of "ahelp chipsopt" | default | Yes |
| font | text font | helvetica|courier|times|greek; see the Font section of "ahelp chipsopt" | helvetica | Yes |
| fontstyle | style of the label text | normal|bold|italic|bolditalic; see the Font Style section of "ahelp chipsopt" | normal | Yes |
| halign | Horizontal location of the string reference point of the label | auto|base|center|left|right|top; see the Text Alignment section of "ahelp chipsopt" | left | Yes |
| size | Font size of the text | 1 to 100 | 12 | Yes |
| stem | stem used for label id | An alpha-numeric character sequence that does not contain a space | lbl | No |
| valign | Vertical location of the string reference point of the label | auto|base|center|left|right|top; see the Text Alignment section of "ahelp chipsopt" | base | Yes |
Changes in CIAO 4.5
Labels can now be added directly from the GUI, using either the "Annotate" menu item or the "Annotate" option brought up by using the Right-Mouse Button in the ChIPS window.
Coordinate system support
It is now possible to set the coordsys attribute of annotation objects - i.e. those created by ChipsLabel(), ChipsLine(), ChipsPoint(), ChipsRegion(), and ChipsColorBar() - to define the coordinate system used to create the object. So the following will add a label - of the current time - to the bottom-right corner of the frame.
chips> l = ChipsLabel() chips> l.coordsys = FRAME_NORM chips> l.halign = 1 chips> import time chips> add_label(0.95, 0.05, time.asctime(), l)
Bugs
See the bugs pages on the ChIPS website for an up-to-date listing of known bugs.
See Also
- chips
- chips, chipsgui, chipsrc, show_gui
- concepts
- aspectratio, attributes, chipsid, chipsopt, colors, coordsys, currency, depthcontrol, entitycreation, preferences, setget
- labels
- current_label, delete_label, display_label, get_label, hide_label, move_label, set_label, shuffle_label
- utilities
- load_font

![[ChIPS Logo]](../imgs/chips_logo_navbar.gif)