Commit 73568818 authored by Ole Streicher's avatar Ole Streicher

New upstream version 3.2

parent 02351586
......@@ -60,7 +60,7 @@ PKG_HEADERS = @PKG_HEADERS@
PKG_LIB_FILE = @PKG_LIB_FILE@
PKG_STUB_LIB_FILE = @PKG_STUB_LIB_FILE@
lib_BINARIES = $(PKG_LIB_FILE)
lib_BINARIES = $(PKG_LIB_FILE) $(PKG_STUB_LIB_FILE)
BINARIES = $(lib_BINARIES)
SHELL = @SHELL@
......@@ -111,14 +111,14 @@ SHLIB_CFLAGS = @SHLIB_CFLAGS@
SHLIB_LD = @SHLIB_LD@
SHLIB_LD_LIBS = @SHLIB_LD_LIBS@
STLIB_LD = @STLIB_LD@
#TCL_DEFS = @TCL_DEFS@
TCL_DEFS = @TCL_DEFS@
TCL_BIN_DIR = @TCL_BIN_DIR@
TCL_SRC_DIR = @TCL_SRC_DIR@
#TK_BIN_DIR = @TK_BIN_DIR@
#TK_SRC_DIR = @TK_SRC_DIR@
# Not used, but retained for reference of what libs Tcl required
#TCL_LIBS = @TCL_LIBS@
TCL_LIBS = @TCL_LIBS@
#========================================================================
# TCLLIBPATH seeds the auto_path in Tcl's init.tcl so we can test our
......@@ -181,7 +181,7 @@ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(C
# for the BINARIES that you specified above have already been done.
#========================================================================
all: binaries libraries #doc
all: binaries libraries doc
#========================================================================
# The binaries target builds executable programs, Windows .dll's, unix
......@@ -201,12 +201,12 @@ libraries:
#========================================================================
doc:
@echo "If you have documentation to create, place the commands to"
@echo "build the docs in the 'doc:' target. For example:"
@echo " xml2nroff sample.xml > sample.n"
@echo " xml2html sample.xml > sample.html"
@list='$(srcdir)/doc/*.n'; for i in $$list; do \
echo "Processing $$i"; \
nroff -Tascii -man $$i | man2html > $${i%.n}.html ; \
done
install: all install-binaries install-libraries #install-doc
install: all install-binaries install-libraries install-doc
install-binaries: binaries install-lib-binaries install-bin-binaries
......@@ -241,6 +241,10 @@ test: binaries libraries
-load "package ifneeded ${PACKAGE_NAME} ${PACKAGE_VERSION} \
[list load `@CYGPATH@ $(PKG_LIB_FILE)` $(PACKAGE_NAME)]"
genstubs: $(srcdir)/tools/genStubs.tcl $(srcdir)/src/tkblt.decls
@echo $(TCLSH) $(srcdir)/tools/genStubs.tcl $(srcdir)/src $(srcdir)/src/tkblt.decls
@$(TCLSH) $(srcdir)/tools/genStubs.tcl $(srcdir)/src $(srcdir)/src/tkblt.decls
shell: binaries libraries
@$(TCLSH) $(SCRIPT)
......@@ -421,7 +425,7 @@ install-lib-binaries: binaries
#========================================================================
install-bin-binaries: binaries
@$(INSTALL_DATA_DIR) $(DESTDIR)$(bindir)
@$(INSTALL_DATA_DIR)
@list='$(bin_BINARIES)'; for p in $$list; do \
if test -f $$p; then \
echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$p"; \
......
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for tkblt 3.1.
# Generated by GNU Autoconf 2.69 for tkblt 3.2.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
......@@ -577,8 +577,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='tkblt'
PACKAGE_TARNAME='tkblt'
PACKAGE_VERSION='3.1'
PACKAGE_STRING='tkblt 3.1'
PACKAGE_VERSION='3.2'
PACKAGE_STRING='tkblt 3.2'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
......@@ -1309,7 +1309,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures tkblt 3.1 to adapt to many kinds of systems.
\`configure' configures tkblt 3.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
......@@ -1374,7 +1374,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of tkblt 3.1:";;
short | recursive ) echo "Configuration of tkblt 3.2:";;
esac
cat <<\_ACEOF
......@@ -1478,7 +1478,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
tkblt configure 3.1
tkblt configure 3.2
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
......@@ -1843,7 +1843,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by tkblt $as_me 3.1, which was
It was created by tkblt $as_me 3.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
......@@ -5571,6 +5571,8 @@ src/tkbltInt.C
src/tkbltNsUtil.C
src/tkbltParse.C
src/tkbltOp.C
src/tkbltStubInit.c
src/tkbltStubLib.C
src/tkbltSwitch.C
src/tkbltVecCmd.C
src/tkbltVecOp.C
......@@ -5611,7 +5613,10 @@ src/tkbltVector.C
vars="src/tkbltVector.h"
vars="
src/tkbltVector.h
src/tkbltDecls.h
"
for i in $vars; do
# check for existence, be strict because it is installed
if test ! -f "${srcdir}/$i" ; then
......@@ -5644,7 +5649,7 @@ src/tkbltVector.C
vars=""
vars="src/tkbltStubLib.C"
for i in $vars; do
# check for existence - allows for generic/win/unix VPATH
if test ! -f "${srcdir}/$i" -a ! -f "${srcdir}/generic/$i" \
......@@ -5655,7 +5660,7 @@ src/tkbltVector.C
fi
PKG_STUB_SOURCES="$PKG_STUB_SOURCES $i"
# this assumes it is in a VPATH dir
i=`basename $i`
#i=`basename $i`
# handle user calling this before or after TEA_SETUP_COMPILER
if test x"${OBJEXT}" != x ; then
j="`echo $i | sed -e 's/\.[^.]*$//'`.${OBJEXT}"
......@@ -9996,7 +10001,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by tkblt $as_me 3.1, which was
This file was extended by tkblt $as_me 3.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
......@@ -10049,7 +10054,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
tkblt config.status 3.1
tkblt config.status 3.2
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
......
......@@ -19,7 +19,7 @@ dnl to configure the system for the local environment.
# so that we create the export library with the dll.
#-----------------------------------------------------------------------
AC_INIT([tkblt], [3.1])
AC_INIT([tkblt], [3.2])
#--------------------------------------------------------------------
# Call TEA_INIT as the first TEA_ macro to set up initial vars.
......@@ -113,17 +113,22 @@ src/tkbltInt.C
src/tkbltNsUtil.C
src/tkbltParse.C
src/tkbltOp.C
src/tkbltStubInit.c
src/tkbltStubLib.C
src/tkbltSwitch.C
src/tkbltVecCmd.C
src/tkbltVecOp.C
src/tkbltVecMath.C
src/tkbltVector.C
])
TEA_ADD_HEADERS([src/tkbltVector.h])
TEA_ADD_HEADERS([
src/tkbltVector.h
src/tkbltDecls.h
])
TEA_ADD_INCLUDES([-I./src])
TEA_ADD_LIBS([-lstdc++])
TEA_ADD_CFLAGS([])
TEA_ADD_STUB_SOURCES([])
TEA_ADD_STUB_SOURCES([src/tkbltStubLib.C])
TEA_ADD_TCL_SOURCES([library/graph.tcl])
#--------------------------------------------------------------------
......
<HTML>
<BODY>
<PRE>
<!-- Manpage converted by man2html 3.0.1 -->
</PRE>
<H2>DESCRIPTION</H2><PRE>
BLT is a library of extensions to the Tk library. It adds new commands
and variables to the application's interpreter.
</PRE>
<H2>COMMANDS</H2><PRE>
The following commands are added to the interpreter from the BLT
library:
<B>graph</B> A 2D plotting widget. Plots two variable data in a win-
dow with an optional legend and annotations. It has of
several components; coordinate axes, crosshairs, a leg-
end, and a collection of elements and tags.
<B>barchart</B> A barchart widget. Plots two-variable data as rectangu-
lar bars in a window. The x-coordinate values designate
the position of the bar along the x-axis, while the y-
coordinate values designate the magnitude. The <B>barchart</B>
widget has of several components; coordinate axes,
crosshairs, a legend, and a collection of elements and
tags.
<B>vector</B> Creates a vector of floating point values. The vector's
components can be manipulated in three ways: through a
Tcl array variable, a Tcl command, or the C API.
</PRE>
<H2>ADDING BLT TO YOUR APPLICATIONS</H2><PRE>
It's easy to add BLT to an existing Tk application. BLT requires no
patches or edits to the Tcl or Tk libraries. To add BLT, simply add
the following code snippet to your application's tkAppInit.c file.
if (Tkblt_Init(interp) != TCL_OK) {
return TCL_ERROR;
}
Recompile and link with the tkblt library and that's it.
Alternately, you can dynamically load tkblt, simply by invoking the
command
% package require tkblt
from your Tcl script.
</PRE>
<H2>BUGS</H2><PRE>
Send bug reports, requests, suggestions, etc. to wjoye@cfa.harvard.edu
</PRE>
<H2>KEYWORDS</H2><PRE>
BLT
</PRE>
<HR>
<ADDRESS>
Man(1) output converted with
<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
</ADDRESS>
</BODY>
</HTML>
......@@ -21,7 +21,6 @@
'\" tortuous action, arising out of or in connection with the use or performance
'\" of this software.
'\"
.so man.macros
.TH intro n BLT_VERSION BLT "BLT Built-In Commands"
.BS
'\" Note: do not modify the .SH NAME line immediately below!
......@@ -51,6 +50,25 @@ crosshairs, a legend, and a collection of elements and tags.
Creates a vector of floating point values. The vector's components
can be manipulated in three ways: through a Tcl array variable, a Tcl
command, or the C API.
.SH ADDING BLT TO YOUR APPLICATIONS
It's easy to add BLT to an existing Tk application. BLT requires no
patches or edits to the Tcl or Tk libraries. To add BLT, simply add the
following code snippet to your application's tkAppInit.c file.
.PP
if (Tkblt_Init(interp) != TCL_OK) {
.PP
return TCL_ERROR;
.PP
}
.TP 15
Recompile and link with the tkblt library and that's it.
.PP
Alternately, you can dynamically load tkblt, simply by invoking the
command
.PP
% package require tkblt
.PP
from your Tcl script.
.SH BUGS
Send bug reports, requests, suggestions, etc. to
wjoye@cfa.harvard.edu
......
<HTML>
<BODY>
<PRE>
<!-- Manpage converted by man2html 3.0.1 -->
</PRE>
<H2>SYNOPSIS</H2><PRE>
<B>barchart</B> <I>pathName</I> ?<I>option</I> <I>value</I>?...
</PRE>
<H2>DESCRIPTION</H2><PRE>
The <B>barchart</B> command creates a bar chart for plotting two-dimensional
data (X-Y coordinates). A bar chart is a graphic means of comparing
numbers by displaying bars of lengths proportional to the y-coordinates
of the points they represented. The bar chart has many configurable
components: coordinate axes, elements, legend, grid lines, cross hairs,
etc. They allow you to customize the look and feel of the graph.
</PRE>
<H2>INTRODUCTION</H2><PRE>
The <B>barchart</B> command creates a new window for plotting two-dimensional
data (X-Y coordinates), using bars of various lengths to represent the
data points. The bars are drawn in a rectangular area displayed in the
center of the new window. This is the <I>plotting</I> <I>area</I>. The coordinate
axes are drawn in the margins surrounding the plotting area. By
default, the legend is drawn in the right margin. The title is dis-
played in top margin.
A <B>barchart</B> widget has several configurable components: coordinate axes,
data elements, legend, grid, cross hairs, pens, postscript, and annota-
tion markers. Each component can be queried or modified.
axis Up to four coordinate axes (two X-coordinate and two Y-coor-
dinate axes) can be displayed, but you can create and use any
number of axes. Axes control what region of data is displayed
and how the data is scaled. Each axis consists of the axis
line, title, major and minor ticks, and tick labels. Tick
labels display the value at each major tick.
crosshairs
Cross hairs are used to position the mouse pointer relative
to the X and Y coordinate axes. Two perpendicular lines,
intersecting at the current location of the mouse, extend
across the plotting area to the coordinate axes.
element An element represents a set of data to be plotted. It con-
tains an x and y vector of values representing the data
points. Each data point is displayed as a bar where the
length of the bar is proportional to the ordinate (Y-coordi-
nate) of the data point. The appearance of the bar, such as
its color, stipple, or relief is configurable.
A special case exists when two or more data points have the
same abscissa (X-coordinate). By default, the bars are over-
layed, one on top of the other. The bars are drawn in the
order of the element display list. But you can also config-
ure the bars to be displayed in two other ways. They may be
displayed as a stack, where each bar (with the same abscissa)
is stacked on the previous. Or they can be drawn side-by-
side as thin bars. The width of each bar is a function of
pen Pens define attributes for elements. Data elements use pens
to specify how they should be drawn. A data element may use
many pens at once. Here the particular pen used for a data
point is determined from each element's weight vector (see
the element's <B>-weight</B> and <B>-style</B> options).
postscript
The widget can generate encapsulated PostScript output. This
component has several options to configure how the PostScript
is generated.
</PRE>
<H2>SYNTAX</H2><PRE>
<B>barchart</B> <I>pathName</I> ?<I>option</I> <I>value</I>?... The <B>barchart</B> command creates a new
window <I>pathName</I> and makes it into a <B>barchart</B> widget. At the time this
command is invoked, there must not exist a window named <I>pathName</I>, but
<I>pathName</I>'s parent must exist. Additional options may be specified on
the command line or in the option database to configure aspects of the
graph such as its colors and font. See the <B>configure</B> operation below
for the exact details about what <I>option</I> and <I>value</I> pairs are valid.
If successful, <B>barchart</B> returns the path name of the widget. It also
creates a new Tcl command by the same name. You can use this command
to invoke various operations that query or modify the graph. The gen-
eral form is: <I>pathName</I> <I>operation</I> ?<I>arg</I>?... Both <I>operation</I> and its argu-
ments determine the exact behavior of the command. The operations
available for the graph are described in the <B>BARCHART</B> <B>OPERATIONS</B> sec-
tion.
The command can also be used to access components of the graph. <I>path-</I>
<I>Name</I> <I>component</I> <I>operation</I> ?<I>arg</I>?... The operation, now located after the
name of the component, is the function to be performed on that compo-
nent. Each component has its own set of operations that manipulate that
component. They will be described below in their own sections.
</PRE>
<H2>EXAMPLE</H2><PRE>
The <B>barchart</B> command creates a new bar chart. # Create a new bar
chart. Plotting area is black. barchart .b -plotbackground black A
new Tcl command .b is created. This command can be used to query and
modify the bar chart. For example, to change the title of the graph to
"My Plot", you use the new command and the <B>configure</B> operation. #
Change the title. .b configure -title "My Plot" To add data elements,
you use the command and the <B>element</B> component. # Create a new element
named "e1" .b element create e1 \ -xdata { 1 2 3 4 5 6 7 8 9 10 }
\ -ydata { 26.18 50.46 72.85 93.31 111.86 128.47 143.14
155.85 166.60 175.38 } The element's X-Y coordinates are
specified using lists of numbers. Alternately, BLT vectors could be
used to hold the X-Y coordinates. # Create two vectors and add them to
the barchart. vector xVector yVector xVector set { 1 2 3 4 5 6 7 8 9
10 } yVector set { 26.18 50.46 72.85 93.31 111.86 128.47 143.14 155.85
166.60 175.38 } n.b element create e1 -xdata xVector -ydata yVec-
tor The advantage of using vectors is that when you modify one, the
sure we change the bar width too. .b configure -barwidth 0.2 The
height of each bar is proportional to the ordinate (Y-coordinate) of
the data point.
If two or more data points have the same abscissa (X-coordinate value),
the bars representing those data points may be drawn in various ways.
The default is to overlay the bars, one on top of the other. The
ordering is determined from the of element display list. If the
stacked mode is selected (using the <B>-barmode</B> configuration option), the
bars are stacked, each bar above the previous. # Display the elements
as stacked. .b configure -barmode stacked If the aligned mode is
selected, the bars having the same x-coordinates are displayed side by
side. The width of each bar is a fraction of its normal width, based
upon the number of bars with the same x-coordinate. # Display the ele-
ments side-by-side. .b configure -barmode aligned By default, the ele-
ment's label in the legend will be also e1. You can change the label,
or specify no legend entry, again using the element's <B>configure</B> opera-
tion. # Don't display "e1" in the legend. .b element configure e1
-label "" You can configure more than just the element's label. An
element has many attributes such as stipple, foreground and background
colors, relief, etc. .b element configure e1 -fg red -bg pink \
-stipple gray50 Four coordinate axes are automatically created: x,
x2, y, and y2. And by default, elements are mapped onto the axes x and
y. This can be changed with the <B>-mapx</B> and <B>-mapy</B> options. # Map "e1"
on the alternate y axis "y2". .b element configure e1 -mapy y2 Axes
can be configured in many ways too. For example, you change the scale
of the Y-axis from linear to log using the <B>axis</B> component. # Y-axis is
log scale. .b axis configure y -logscale yes One important way axes
are used is to zoom in on a particular data region. Zooming is done by
simply specifying new axis limits using the <B>-min</B> and <B>-max</B> configuration
options. .b axis configure x -min 1.0 -max 1.5 .b axis configure y
-min 12.0 -max 55.15 To zoom interactively, you link the<B>axis</B> <B>configure</B>
operations with some user interaction (such as pressing the mouse but-
ton), using the <B>bind</B> command. To convert between screen and graph
coordinates, use the <B>invtransform</B> operation. # Click the button to set
a new minimum bind .b &lt;ButtonPress-1&gt; {
%W axis configure x -min [%W axis invtransform x %x]
%W axis configure x -min [%W axis invtransform x %y] } By default,
the limits of the axis are determined from data values. To reset back
to the default limits, set the <B>-min</B> and <B>-max</B> options to the empty
value. # Reset the axes to autoscale again. .b axis configure x -min
{} -max {} .b axis configure y -min {} -max {} By default, the legend
is drawn in the right margin. You can change this or any legend con-
figuration options using the <B>legend</B> component. # Configure the legend
font, color, and relief .b legend configure -position left -relief
raised \ -font fixed -fg blue To prevent the legend from being
displayed, turn on the <B>-hide</B> option. # Don't display the legend. .b
legend configure -hide yes The <B>barchart</B> has simple drawing procedures
called markers. They can be used to highlight or annotate data in the
graph. The types of markers available are bitmaps, polygons, lines, or
windows. Markers can be used, for example, to mark or brush points.
For example there may be a line marker which indicates some low-water
chart into file "file.ps" .b postscript output file.ps -maxpect yes
-decorations no This generates a file file.ps containing the encapsu-
lated PostScript of the graph. The option <B>-maxpect</B> says to scale the
plot to the size of the page. Turning off the <B>-decorations</B> option
denotes that no borders or color backgrounds should be drawn (i.e. the
background of the margins, legend, and plotting area will be white).
</PRE>
<H2>SYNTAX</H2><PRE>
<B>barchart</B> <I>pathName</I> ?<I>option</I> <I>value</I>?... The <B>barchart</B> command creates a new
window <I>pathName</I> and makes it into a barchart widget. At the time this
command is invoked, there must not exist a window named <I>pathName</I>, but
<I>pathName</I>'s parent must exist. Additional options may may be specified
on the command line or in the option database to configure aspects of
the bar chart such as its colors and font. See the <B>configure</B> operation
below for the exact details as to what <I>option</I> and <I>value</I> pairs are
valid.
If successful, <B>barchart</B> returns <I>pathName</I>. It also creates a new Tcl
command <I>pathName</I>. This command may be used to invoke various opera-
tions to query or modify the bar chart. It has the general form: <I>path-</I>
<I>Name</I> <I>operation</I> ?<I>arg</I>?... Both <I>operation</I> and its arguments determine the
exact behavior of the command. The operations available for the bar
chart are described in the following section.
</PRE>
<H2>BARCHART OPERATIONS</H2><PRE>
<I>pathName</I> <B>bar</B> <I>elemName</I> ?<I>option</I> <I>value</I>?...
Creates a new barchart element <I>elemName</I>. It's an error if an
element <I>elemName</I> already exists. See the manual for <B>barchart</B>
for details about what <I>option</I> and <I>value</I> pairs are valid.
<I>pathName</I> <B>cget</B> <I>option</I>
Returns the current value of the configuration option given by
<I>option</I>. <I>Option</I> may be any option described below for the <B>con-</B>
<B>figure</B> operation.
<I>pathName</I> <B>configure</B> ?<I>option</I> <I>value</I>?...
Queries or modifies the configuration options of the graph. If
<I>option</I> isn't specified, a list describing the current options
for <I>pathName</I> is returned. If <I>option</I> is specified, but not
<I>value</I>, then a list describing <I>option</I> is returned. If one or
more <I>option</I> and <I>value</I> pairs are specified, then for each pair,
the option <I>option</I> is set to <I>value</I>. The following options are
valid.
<B>-background</B> <I>color</I>
Sets the background color. This includes the margins and
legend, but not the plotting area.
<B>-barmode</B> <I>mode</I>
Indicates how related bar elements will be drawn.
Related elements have data points with the same abscissas
(X-coordinates). <I>Mode</I> indicates how those segments should
<B>-barwidth</B> <I>value</I>
Specifies the width of the bars. This value can be over-
rided by the individual elements using their <B>-barwidth</B>
configuration option. <I>Value</I> is the width in terms of
graph-coordinates. The default width is 1.0.
<B>-borderwidth</B> <I>pixels</I>
Sets the width of the 3-D border around the outside edge
of the widget. The <B>-relief</B> option determines if the bor-
der is to be drawn. The default is 2.
<B>-bottommargin</B> <I>pixels</I>
Specifies the size of the margin below the X-coordinate
axis. If <I>pixels</I> is 0, the size of the margin is selected
automatically. The default is 0.
<B>-bufferelements</B> <I>boolean</I>
Indicates whether an internal pixmap to buffer the dis-
play of data elements should be used. If <I>boolean</I> is
true, data elements are drawn to an internal pixmap.
This option is especially useful when the graph is
redrawn frequently while the remains data unchanged (for
example, moving a marker across the plot). See the <B>SPEED</B>
<B>TIPS</B> section. The default is 1.
<B>-cursor</B> <I>cursor</I>
Specifies the widget's cursor. The default cursor is
crosshair.
<B>-font</B> <I>fontName</I>
Specifies the font of the graph title. The default is
*-Helvetica-Bold-R-Normal-*-18-180-*.
<B>-halo</B> <I>pixels</I>
Specifies a maximum distance to consider when searching
for the closest data point (see the element's <B>closest</B>
operation below). Data points further than <I>pixels</I> away
are ignored. The default is 0.5i.
<B>-height</B> <I>pixels</I>
Specifies the requested height of widget. The default is
4i.
<B>-invertxy</B> <I>boolean</I>
Indicates whether the placement X-axis and Y-axis should
be inverted. If <I>boolean</I> is true, the X and Y axes are
swapped. The default is 0.
<B>-justify</B> <I>justify</I>
Specifies how the title should be justified. This mat-
ters only when the title contains more than one line of
area. The <B>-plotrelief</B> option determines if a border is
drawn. The default is 2.
<B>-plotpadx</B> <I>pad</I>
Sets the amount of padding to be added to the left and
right sides of the plotting area. <I>Pad</I> can be a list of
one or two screen distances. If <I>pad</I> has two elements,
the left side of the plotting area entry is padded by the
first distance and the right side by the second. If <I>pad</I>
is just one distance, both the left and right sides are
padded evenly. The default is 8.
<B>-plotpady</B> <I>pad</I>
Sets the amount of padding to be added to the top and
bottom of the plotting area. <I>Pad</I> can be a list of one or
two screen distances. If <I>pad</I> has two elements, the top
of the plotting area is padded by the first distance and
the bottom by the second. If <I>pad</I> is just one distance,
both the top and bottom are padded evenly. The default
is 8.
<B>-plotrelief</B> <I>relief</I>
Specifies the 3-D effect for the plotting area. <I>Relief</I>
specifies how the interior of the plotting area should
appear relative to rest of the graph; for example, raised
means the plot should appear to protrude from the graph,
relative to the surface of the graph. The default is
sunken.
<B>-relief</B> <I>relief</I>
Specifies the 3-D effect for the barchart widget. <I>Relief</I>
specifies how the graph should appear relative to widget
it is packed into; for example, raised means the graph
should appear to protrude. The default is flat.
<B>-rightmargin</B> <I>pixels</I>
Sets the size of margin from the plotting area to the
right edge of the window. By default, the legend is
drawn in this margin. If <I>pixels</I> is than 1, the margin
size is selected automatically.
<B>-takefocus</B> <I>focus</I>
Provides information used when moving the focus from win-
dow to window via keyboard traversal (e.g., Tab and
Shift-Tab). If <I>focus</I> is 0, this means that this window
should be skipped entirely during keyboard traversal. 1
means that the this window should always receive the
input focus. An empty value means that the traversal
scripts make the decision whether to focus on the window.
The default is "".
<B>-tile</B> <I>image</I>
<B>-width</B> <I>pixels</I>
Specifies the requested width of the widget. The default
is 5i.
<I>pathName</I> <B>crosshairs</B> <I>operation</I> ?<I>arg</I>?
See the <B>CROSSHAIRS</B> <B>COMPONENT</B> section.
<I>pathName</I> <B>element</B> <I>operation</I> ?<I>arg</I>?...
See the <B>ELEMENT</B> <B>COMPONENTS</B> section.
<I>pathName</I> <B>extents</B> <I>item</I>
Returns the size of a particular item in the graph. <I>Item</I> must
be either leftmargin, rightmargin, topmargin, bottommargin,
plotwidth, or plotheight.
<I>pathName</I> <B>grid</B> <I>operation</I> ?<I>arg</I>?...
See the <B>GRID</B> <B>COMPONENT</B> section.
<I>pathName</I> <B>invtransform</B> <I>winX</I> <I>winY</I>
Performs an inverse coordinate transformation, mapping window
coordinates back to graph-coordinates, using the standard X-axis
and Y-axis. Returns a list of containing the X-Y graph-coordi-
nates.
<I>pathName</I> <B>inside</B> <I>x</I> <I>y</I>
Returns 1 is the designated screen-coordinate (<I>x</I> and <I>y</I>) is
inside the plotting area and 0 otherwise.
<I>pathName</I> <B>legend</B> <I>operation</I> ?<I>arg</I>?...
See the <B>LEGEND</B> <B>COMPONENT</B> section.
<I>pathName</I> <B>line</B> <B>operation</B> <B>arg</B>...
The operation is the same as <B>element</B>.
<I>pathName</I> <B>marker</B> <I>operation</I> ?<I>arg</I>?...
See the <B>MARKER</B> <B>COMPONENTS</B> section.
<I>pathName</I> <B>metafile</B> ?<I>fileName</I>?
<I>This</I> <I>operation</I> <I>is</I> <I>for</I> <I>Window</I> <I>platforms</I> <I>only</I>. Creates a Windows
enhanced metafile of the barchart. If present, <I>fileName</I> is the
file name of the new metafile. Otherwise, the metafile is auto-
matically added to the clipboard.
<I>pathName</I> <B>postscript</B> <I>operation</I> ?<I>arg</I>?...
See the <B>POSTSCRIPT</B> <B>COMPONENT</B> section.
<I>pathName</I> <B>snap</B> <I>photoName</I>
Takes a snapshot of the graph and stores the contents in the
photo image <I>photoName</I>. <I>PhotoName</I> is the name of a Tk photo
image that must already exist.
<I>pathName</I> <B>transform</B> <I>x</I> <I>y</I>
A graph is composed of several components: coordinate axes, data ele-
ments, legend, grid, cross hairs, postscript, and annotation markers.
Instead of one big set of configuration options and operations, the
graph is partitioned, where each component has its own configuration
options and operations that specifically control that aspect or part of
the graph.
<B>AXIS</B> <B>COMPONENTS</B>
Four coordinate axes are automatically created: two X-coordinate axes
(x and x2) and two Y-coordinate axes (y, and y2). By default, the axis
x is located in the bottom margin, y in the left margin, x2 in the top
margin, and y2 in the right margin.
An axis consists of the axis line, title, major and minor ticks, and
tick labels. Major ticks are drawn at uniform intervals along the
axis. Each tick is labeled with its coordinate value. Minor ticks are
drawn at uniform intervals within major ticks.
The range of the axis controls what region of data is plotted. Data
points outside the minimum and maximum limits of the axis are not plot-
ted. By default, the minimum and maximum limits are determined from
the data, but you can reset either limit.
You can create and use several axes. To create an axis, invoke the axis
component and its create operation. # Create a new axis called "tem-
perature" .b axis create temperature You map data elements to an axis
using the element's -mapy and -mapx configuration options. They specify
the coordinate axes an element is mapped onto. # Now map the tempera-
ture data to this axis. .b element create "temp" -xdata $x -ydata
$tempData \
-mapy temperature While you can have many axes, only four axes can
be displayed simultaneously. They are drawn in each of the margins
surrounding the plotting area. The axes x and y are drawn in the bot-
tom and left margins. The axes x2 and y2 are drawn in top and right
margins. Only x and y are shown by default. Note that the axes can
have different scales.
To display a different axis, you invoke one of the following compo-
nents: <B>xaxis</B>, <B>yaxis</B>, <B>x2axis</B>, and <B>y2axis</B>. The <B>use</B> operation designates
the axis to be drawn in the corresponding margin: <B>xaxis</B> in the bottom,
<B>yaxis</B> in the left, <B>x2axis</B> in the top, and <B>y2axis</B> in the right. # Dis-
play the axis temperature in the left margin. .b yaxis use temperature
You can configure axes in many ways. The axis scale can be linear or
logarithmic. The values along the axis can either monotonically
increase or decrease. If you need custom tick labels, you can specify
a Tcl procedure to format the label any way you wish. You can control
how ticks are drawn, by changing the major tick interval or the number
of minor ticks. You can define non-uniform tick intervals, such as for
time-series plots.
<B>-autorange</B> <I>range</I>
Sets the range of values for the axis to <I>range</I>. The axis
limits are automatically reset to display the most recent
data points in this range. If <I>range</I> is 0.0, the range is
determined from the limits of the data. If <B>-min</B> or <B>-max</B>
are specified, they override this option. The default is
0.0.
<B>-color</B> <I>color</I>
Sets the color of the axis and tick labels. The default