About Chandra Archive Proposer Instruments & Calibration Newsletters Data Analysis HelpDesk Calibration Database NASA Archives & Centers Chandra Science Links

Skip the navigation links
Last modified: 15 May 2008

URL: http://cxc.harvard.edu/chips4.0/concepts/values.html
Hardcopy (PDF): A4 | Letter

Concepts: Values


This document describes how attribute values - such as the line style, symbol color, and ticklabel formats - are specified. The Attributes concept documentation describes how you change the attributes of an object.


Booleans

Numerous object attributes are represented as boolean states, such as object visibility and fill properties. Behaviors like auto limit calculations are also boolean.

Depending on the context, a boolean value may be specifed as an integer or a string value. For example, when using an attribute string, the string values are used ("fill=true"), but when using an attribute list to set values either a numeric or a string may be used ({"fill",1} or {"fill","true"}). For integer representations, a 0 equates to false while a 1 equates to true. For string representations, a wide range of values may be used to specify the boolean settings.

The predefined Python True and False boolean values are also supported.

Values Description
0 represents a numeric off or false state
1 represents a numeric on or true state
false, f, no, n, off, 0 represents a string off or false state
true, t, yes, y, on, 1 represents a string on or true state

Color

Color is an attribute of nearly all objects in ChIPS, and there is a vast palette available. The colors documentation describes how to specify color values and how to set the color attributes of objects.

Since the colors used for video displays are often not optimal for hardcopies, ChIPS provides a special color identifier "default". Any item set to "default" will use user-configurable default colors for foreground and background colors in terminals as well as hardcopies.

Colors may be specified by name ( "lime", "gray", "black") or as hex values (RRGGBB where 0xff0000 = Red, 0x00ff00 = Green, 0x0000ff = Blue).

Color Name Red Green Blue Hex Value
aquamarine 127 255 228 7fffe4
azure 240 255 255 f0ffff
beige 245 245 220 f5f5dc
bisque 255 228 196 ffe4c4
black 0 0 0 000000
blue 0 0 255 0000ff
brown 165 42 42 a52a2a
chartreuse 127 255 0 7fff00
chocolate 210 105 30 d2691e
coral 255 128 128 ff8080
cornflower 100 149 237 6495ed
cyan 0 255 255 00ffff
darkred 139 0 0 8b0000
firebrick 178 34 34 b22222
forest 34 139 34 228b22
gold 255 215 0 ffd700
goldenrod 218 165 32 daa520
gray 190 190 190 bebebe
green 0 255 0 00ff00
honeydew 240 255 240 f0fff0
ivory 255 255 240 fffff0
khaki 240 230 140 f0e68c
lavender 230 230 250 e6e6fa
lime 50 205 50 32cd32
linen 250 240 230 faf0e6
magenta 255 0 255 ff00ff
maroon 176 48 96 b03060
mediumblue 0 0 205 0000cd
mistyrose 255 228 225 ffe4e1
navy 0 0 128 000080
olive 107 142 35 6b8e23
orange 255 163 0 ffa300
orchid 218 112 214 da70d6
peach 255 218 185 ffdab9
peru 205 133 63 cd853f
pink 255 192 203 ffc0cb
plum 221 160 221 dda0dd
purple 160 32 240 a020f0
red 255 0 0 ff0000
salmon 250 128 114 fa8072
seagreen 46 139 87 2e8b57
seashell 255 245 238 fff5ee
sienna 160 82 45 a0522d
skyblue 135 206 235 87ceeb
slateblue 106 90 205 6a5acd
slategray 112 128 144 708090
snow 255 250 250 fffafa
springgreen 0 255 127 00ff7f
steelblue 70 130 180 4682b4
tan 210 180 140 d2b48c
thistle 216 191 216 d8bfd8
tomato 255 99 71 ff6347
turquoise 64 224 208 40e0d0
violet 238 130 238 ee82ee
wheat 245 222 179 f5deb3
white 255 255 255 ffffff
yellow 255 255 0 ffff00

Contour Mode

The contour mode sets how levels are determined in contours.

The following contour modes are supported:

Name Enumeration Description
arbitrary chips_arbitrary utilizes the user specified contour levels
count chips_count generates the specified or default number of contour levels
interval chips_interval generates contour levels at the specified or default interval
limits chips_limits attempt to generate approximately 5 contour levels. Same as "nice" mode
nice chips_nice attempt to generate approximately 5 contour levels. Same as "limits" mode

Depth

Depth control allows the user to specify the depth at which each object is placed within a frame.

When objects are created, they are assigned a depth value. The depth to which an object is assigned, along with the order that the objects were added to the depth, determines the rendering order of the frame. Depths are rendered from the lowest depth value greater than 0 to the highest depth value in use. Objects at higher depths may overlap lower objects.

Depths are specified as positive integers where the value 1 represents the lowest items ("farther" from the top).

The depth value 0 ("default", V_USE_DEFAULT_DEPTH) represents a special case. If the value is default, then default frame depth is used. The value of the frame default is initialized to the value of the preference "default.depth", but may be modified by using the set_default_depth command. The new setting does not affect the depth of existing objects, only new ones created after the call to set_default_depth.

Export

Export attributes are used to control the output files generated by ChIPS. Users may specify various file formats. In addition, color format, scaling, margins, and other attributes of the output may be specified.

Attributes that are specific to page layouts (margins, page size, orientation, etc.) only apply to pdf and ps formats.

Name Description Options Default
clobber overwrite the output file if it exists boolean value false
colorscheme how to handle colors in output rgb|cmyk|cmyksep|grayscale rgb
fonts embed the font in the postscript file boolean true
format output file format ps|eps|pdf|png|jpg ps
orientation how to orient the output portrait|landscape portrait
leftmargin left page margin number of pageunits 0
rightmargin right page margin number of pageunits 0
bottommargin bottom page margin number of pageunits 0
topmargin top page margin number of pageunits 0
pagewidth width of the page number of pageunits 8.5
pageheight height of the page number of pageunits 11
pagesize standard predefined page dimensions letter|legal|executive|A3|A4|A5 letter
pageunits units of page attributes (margins, height, etc...) mm|cm|inch|pixels inch
scaleheight scale the height of the window 0
scalewidth scale the width of the window 0
keepaspect keep the aspect ratio of the original window boolean true
fittopage adjust contents to fit to page boolean false

Font

ChIPS provides four installed fonts: times, helvetica, courier, and greek.

[Installed fonts]
Name Enumeration Numeric Description
helvetica chips_helvetica 0 san serif font
courier chips_courier 1 slab serif font
times chips_times 2 transitional/baroque serif font
greek chips_greek 3 greek symbol font

In addition to the standard fonts, ChIPS provides limited support for users to load their own fonts. The user-loaded fonts work on the screen displays and output png and jpg formats, but do not work in ps, eps, or pdf output formats. Furthermore, the user-loaded fonts do not get saved in state files.

# Python
   load_font("bookman","/my_fonts/bookman.pfb", chips_normal)
   load_font("bookman","/my_fonts/bookman_b.pfb", chips_bold)
   load_font("bookman","/my_fonts/bookman_i.pfb", chips_italic)
   load_font("bookman","/my_fonts/bookman_bi.pfb", chips_bolditalic)
   add_label(.1,.5,"AbCdEfGhIjKlM","font=bookman fontstyle=bold")
% S-Lang
   load_font("bookman","/my_fonts/bookman.pfb", chips_normal);
   load_font("bookman","/my_fonts/bookman_b.pfb", chips_bold);
   load_font("bookman","/my_fonts/bookman_i.pfb", chips_italic);
   load_font("bookman","/my_fonts/bookman_bi.pfb", chips_bolditalic);
   add_label(.1,.5,"AbCdEfGhIjKlM","font=bookman fontstyle=bold");

Font Style

Font styles allow the user to add emphasis to labels by changing their appearance. Font styles for user-loaded fonts are dependent on whether the appropriate files have been provided.

The pre-installed Greek font only supports normal font style.

Name Enumeration Numeric Description
normal chips_normal 0 standard display of text
bold chips_bold 1 stronger or thicker display of text
italic chips_italic 2 slanted display of text
bolditalic chips_bolditalic 3 stronger or thicker display of slanted text

Line Style

Line styles refer to the stipple pattern used to draw lines and edges for objects such as lines, curves, regions, and grids.

The following line styles are supported:

[Available line styles]
Name Enumeration Numeric Description
noline chips_noline 0 no line rendered
solid chips_solid 1 solid line
dot chips_dot 2 dotted line
dotlongdash chips_dotlongdash 3 repeating dot longdash sequences
dotshortdash chips_dotshortdash 4 repeating dot shortdash sequences
longdash chips_longdash 5 line comprised of long dashes
shortdash chips_shortdash 6 line comprised of short dashes
shortdashlongdash chips_shortdashlongdash 7 alternating short and long dashes

Object Type

ChIPS utilizes various objects to create figures. Ii is necessary to specify the object to which an action should be applied when using any of the non-object-specific commands, e.g. move, shuffle, set_attribute.

Object type are represented as an enumeration in ChIPS. It is possible to specify an object type using either the enumeration (chips_line) or its numeric value (11 for chips_line).

Name Enumeration Numeric Description
window chips_window 2 a window object
frame chips_frame 3 a frame object
plot chips_plot 5 a plot area object
curve chips_curve 6 a curve or trace within a plot
histogram chips_histogram 7 a histogram trace within a plot
contour chips_contour 8 a contour object within a plot
axis chips_axis 9 an axis object within a plot
label chips_label 10 a label object
line chips_line 11 a line or polyline object
point chips_point 13 a point object
region chips_region 14 a region or polygon object

Symbol Style

Symbol styles refer to the glyphs used to represent points, curve data points, and histogram data points.

The following symbol styles are supported:

[Available symbols]
Name Enumeration Numeric Description
none chips_none 0 no symbol is rendered
cross chips_cross 1 a symmetrical x symbol
diamond chips_diamond 2 a diamond shaped symbol
downtriangle chips_downtriangle 3 equilateral triangle with vertex pointing down
circle chips_circle 4 a circle symbol
plus chips_plus 5 a symmetrical + symbol
square chips_square 6 a box shaped symbol
uptriangle chips_uptriangle 7 equilateral triangle with vertex pointing up
point chips_dot 8 a dot symbol
arrow chips_arrow 9 an arrow symbol (angle property controls direction)

Text Alignment

Text alignment determines how a label is displayed in relation to the associated location. It is sometimes referred to as text justification. For instance, text that is left-justified has its leftmost edge placed at the specified location or reference point. Right-justified means the text is placed so that the rightmost portion of the label ends at the specified location.

For vertical alignment the baseline of the text (neglecting descenders such as "p", "g", or "q") is the 0 or base. The top is determined by the height of standard glyphs in the label.

Text Alignments may be specified as numeric values or as the predefined values specified in the table below. Numeric values greater than 1 or less than 0 result in the labels shifting over by a ratio based on the height or width of the text. For instance, a horizontal alignment of -1 will place the label to the right of anchor position, by the length of the label.

Value Numeric Horizontal Use Vertical Use
auto -99.0 determines the appropriate reference position based on the type and position of object determines the appropriate reference position based on the type and position of object
base 0.0 N/A places the reference position at the text baseline
center 0.5 places the reference position in the center of the text. places the reference position in the center of the text.
left 0.0 places the reference position at the start of the text string N/A
right 1.0 places the reference position at the end of the text string N/A
top 1.0 N/A places the reference position at the top of the text

Text Formatting

ChIPS labels support a number of simple latex formatting sequences including subscripts, superscripts, fonts, font styles, colors, and special symbols.

Since both Python and S-Lang interpret \ as a control character, it should either be preceeded by another backslash, as in the examples below, or the text can be labelled as containing \ symbols by saying:

# Python
  r"y = \alpha^2_i"
% S-Lang
  "y = \alpha^2_i"R

Some examples of the LaTeX support in ChIPS:

[LaTeX example] [LaTeX example: sub- and super- scripts] [LaTeX example: Greek symbols] [LaTeX example: binary operators] [LaTeX example: relations] [LaTeX example: arrows] [LaTeX example: foreign symbols] [LaTeX example: miscellaneous symbols]

The following formatting sequences are supported:

Feature Description Example
Bold Make a portion of the text bold regardless of the fontstyle "\\textbf{Ch}allange"
Color Set the color of a portion of the text regardless of the color "a {\\color{skyblue} blue} fish"
Italic Make a portion of the text italic regardless of the fontstyle "the \\textit{right} one"
Medium Make a portion of the text medium regardless of the fontstyle "a \\textmd{plain} one"
Roman Make a portion of the text roman (times) regardless of the font "see \\textrm{spot} run""
San Serif Make a portion of the text san serif (helvetica) regardless of the font "see \\textsf{spot} run""
Subscript place a single character subscript "A_2"
Subscript place a string subscript "A_{floor}"
Superscript place a single character superscript "X^Y"
Superscript place a string superscript "r^{x+1}"
Symbol use special characters or symbols see following table
Typewriter Make a portion of the text typewriter (courier) regardless of the font "see \\texttt{spot} run"
Supported Latex Symbols
Symbol Description
\AA Angstrom symbol
\alpha lowercase greek alpha character
\Alpha uppercase greek alpha character
\beta lowercase greek beta character
\Beta uppercase greek beta character
\gamma lowercase greek gamma character
\Gamma uppercase greek gamma character
\delta lowercase greek delta character
\Delta uppercase greek delta character
\epsilon lowercase greek epsilon character
\Epsilon uppercase greek epsilon character
\zeta lowercase greek zeta character
\Zeta uppercase greek zeta character
\eta lowercase greek eta character
\Eta uppercase greek eta character
\theta lowercase greek theta character
\Theta uppercase greek theta character
\iota lowercase greek iota character
\Iota uppercase greek iota character
\kappa lowercase greek kappa character
\Kappa uppercase greek kappa character
\lambda lowercase greek lambda character
\Lambda uppercase greek lambda character
\mu lowercase greek mu character
\Mu uppercase greek mu character
\nu lowercase greek nu character
\Nu uppercase greek nu character
\xi lowercase greek xi character
\Xi uppercase greek xi character
\omicron lowercase greek omicron character
\Omicron uppercase greek omicron character
\pi lowercase greek pi character
\Pi uppercase greek pi character
\rho lowercase greek rho character
\Rho uppercase greek rho character
\sigma lowercase greek sigma character
\Sigma uppercase greek sigma character
\tau lowercase greek tau character
\Tau uppercase greek tau character
\upsilon lowercase greek upsilon character
\Upsilon uppercase greek upsilon character
\phi lowercase greek phi character
\Phi uppercase greek phi character
\chi lowercase greek chi character
\Chi uppercase greek chi character
\psi lowercase greek psi character
\Psi uppercase greek psi character
\omega lowercase greek omega character
\Omega uppercase greek omega character
\pounds pounds symbol
\pm plus or minus symbol
\div division symbol
\times multiplication symbol
\copyright copyright symbol
\aa lowercase a with circle above it
\ae lowercase ae symbol
\AE uppercase AE symbol
\clubsuit club symbol
\heartsuit heart symbol
\spadesuit spade symbol
\diamondsuit diamond symbol
\forall for all symbol (inverted capital A)
\exists exists symbol (backwards capital E)
\angle angle symbol
\neq not equal
\equiv equivalent
\approx approximate
\bullet bullet
\infty infinity
\otimes circle containing x
\oplus circle containing plus
\leftrightarrow narrow shaft arrow pointing left and right
\leftarrow narrow shaft arrow pointing left
\rightarrow narrow shaft arrow pointing right
\uparrow narrow shaft arrow pointing up
\downarrow narrow shaft arrow pointing down
\Leftrightarrow wide shaft arrow pointing left and right
\Leftarrow wide shaft arrow pointing left
\Rrightarrow wide shaft arrow pointing right
\Uparrow wide shaft arrow pointing up
\Downarrow wide shaft arrow pointing down
\aleph aleph
\in in
\notin not in
\cap cap
\cup cup
\supset superset
\supseteq superset eq
\subset subset
\subseteq subset eq
\leq less than or equal
\geq greater than or equal
\propto propto
\partial partial
\Im Im
\Re Re
\wp wp
\ldots ellipsis
\cong congruent
\diamond diamond
\langle langle
\lceil lceil
\nabla nabla
\surd surd
\neg neg

Thickness

Thickness is a property of objects which display line segments, such as curves, contours, and regions.

Thickness is specified as a floating point value which may range from 0.5 to 10.0. Screen displays typically represent line thickness as integer values, but floating point specifications are supported for postscript output. While a value of 0.5 and 1 will appear differently in postscript output, they will both appear as a thickness of 1 in the screen display.

Tick Format

Tick formats allow the user to specify the appearance of axis tick labels. The syntax is similar to that of the C printf format strings: "%<qualifier><format>". Text may be included before or after the qualifier.

# Python
   set_axis("ay1",["tickformat","distance %2.1f km"])
% S-Lang
   set_axis("ay1",{"tickformat","distance %2.1f km"});

Tick formats do not support latex conventions.

The following tick formats are supported:

Format Description Example 1 Example 2
%d integer values. Use a format qualifier such as .4d to 0 pad entries (0=0000, 150=0150) 0 1000000
%dec sexigesimal dec (degrees, minutes, seconds).Use a format qualifier such as %3.2dec to specify the precision of seconds 00^o00'00" 06^o30'15"
%dec1 sexigesimal dec- degrees, minutes, seconds ##:##:##.Use a format qualifier such as %3.2dec1 to specify the precision of seconds -25:00:00 +50:30:15
%dec2 sexigesimal dec- degrees, minutes, seconds ## ## ##.Use a format qualifier such as %3.2dec2 to specify the precision of seconds -25 00 00 +50 30 15
%dec3 sexigesimal dec- degrees, minutes, seconds ##d ##m ##s.Use a format qualifier such as %3.2dec3 to specify the precision of seconds -25d 00m 00s +50d 30m 15s
%DEC3 sexigesimal dec- degrees, minutes, seconds ##D ##M ##S.Use a format qualifier such as %3.2DEC3 to specify the precision of seconds -25D 00M 00S +50D 30M 15S
%f use floating point representation 0.000000 1000000.000000
%g use most compact output of data 0 1e+06
%ra sexigesimal ra - hours, minutes, seconds. Use a format qualifier such as %3.2ra to specify the precision of seconds 00^h00^m00^s 06^h30^m15^s
%ra1 sexigesimal ra - hours minutes seconds (##:##:##). Use a format qualifier such as %3.2ra1 to specify the precision of seconds 00:00:00 06:30:15
%ra2 sexigesimal ra- hours minutes seconds (## ## ##). Use a format qualifier such as %3.2ra2 to specify the precision of seconds 00 00 00 06 30 15
%ra3 sexigesimal ra (##h ##m ##s). Use a format qualifier such as %3.2ra3 to specify the precision of seconds 00h 00m 00s 06h 30m 15s
%RA3 sexigesimal ra (##H ##M ##S). Use a format qualifier such as %3.2RA3 to specify the precision of seconds 00H 00M 00S 06H 30M 15S
%ra4 sexigesimal ra - hours, minutes, seconds. Use a format qualifier such as %3.2ra4 to specify the precision of seconds 00^h00^m00^s 06^h30^m15^s
%RA4 sexigesimal ra - hours, minutes, seconds. Use a format qualifier such as %3.2RA4 to specify the precision of seconds 00^H00^M00^S 06^H30^M15^S
%z value x 10 to the n 0.000000 x 10^0 1.000000 x 10^6
%Z value x 10 to the n for n over precision 0 1 x 10^6

Tick Mode

Tick modes control the placement of tick marks on an axis. There are different modes which may be utilized. Two of the modes automatically determine tick locations based on the values of the data being plotted. The other three use data-independent values.

Changing the values associated with interval, count, or arbitrary tick marks (majortick.interval, majortick.count, and arbitrary tick positions respectively) will result in the axis automatically changing to the appropriate tick mode.

Changing the tick mode may result in a change in the range of one or more axes.

The following tick modes are supported; details on each follow the table.

Name Enumeration Description
arbitrary chips_arbitrary places tick marks at user specified locations
count chips_count attempts to display the user specified number of tick marks
interval chips_interval spaces tick marks at the user specified interval
limits chips_limits calculate tick marks to be spaced on "nice" intervals (factors of 1,2,5,10) and pad axes ends; recommended for use with log axes
nice chips_nice calculate tick marks to be spaced on "nice" intervals (factors of 1,2,5,10) ending on major ticks; recommended for use with log axes
  • Arbitrary tick mode allows the user to specify the exact locations of the tick marks. ASCII text values may be used instead of numeric values, but there must be 1-to-1 mapping between the arbitrary locations and the specified text.
  • Count tick mode allows the user to request a number of tick marks to be displayed. ChIPS will attempt to place the requested number of tick marks at "nice" locations. If nice placement can not be achieved with the specified numer of tick marks, ChIPS will display more or less than the requested number. The "majortick.count" value serves as a guideline for count mode.
  • Interval tick mode uses a configurable interval value to determine where to place the tick marks. Tick locations are calculated at the specified interval using 0 as a reference point. For instance, a majortick.interval of 7 would place ticks at 7, 14, 21, 28, 35, ... If the range of the data is smaller than the interval, zero or one tick marks will be displayed.
  • Limits and nice tick modes automatically adjust the tick mark locations based on the range of the data (or user specified limits). These modes attempt to position the ticks using intervals that are generally factors of 1, 2, 5, 10 such that approximate four to six tick marks are displayed. Nice mode starts and ends on tick marks, while limits mode provides a pad factor so that the tick marks are buffered by a configurable padding percentage.

Tick Style

Tick styles specify how the tick marks are placed on an axis. They may centered on the axis such that they extend evenly above and below the axis. They may also extend out in only one direction from the axis. In the latter case, the location of the axis determines which way the tick marks should extend.

The direction of the tick styles refer to axes that are specified in Plot Normalized or Data coordinates. Axes that are specified in other coordinates may behave differently. For instance, an axis specified in Frame Normalized coordinates has the reference point at the center of the frame rather than the center of the plot when determining the direction of "inside" or "outside".

The following tick values are supported:

Name Enumeration Numeric Description
inside chips_inside 0 tick marks face towards the center of the plot
outside chips_outside 1 tick marks face away from the center of the plot
centered chips_centered 2 tick marks are centered on the axis baseline
Hardcopy (PDF): A4 | Letter
Last modified: 15 May 2008


The Chandra X-Ray Center (CXC) is operated for NASA by the Smithsonian Astrophysical Observatory.
60 Garden Street, Cambridge, MA 02138 USA.    Email: cxcweb@head.cfa.harvard.edu
Smithsonian Institution, Copyright © 1998-2004. All rights reserved.