Graphics Reference
In-Depth Information
The User Interface
3.3.3
Extending a system is one area wherethe user interface is crucial. In almost all cases,
an extensible system must provide a language for developing new graphics. In other
words, you must write code (type commands) to extend a system. his is not to say
that it is impossible to produce a graphical programming interface (see, for example,
theViStasystem;Young, ),butacommandlineoffersbyfarthebestenvironment
for power and flexibility. As an absolute minimum, a GUI must provide some way to
record code equivalents of GUI actions.
Another detail is that the language for extending the system should ideally be the
same language that is usedto develop the system. hishas two implications: first, the
userhas full accesstothegraphics systemand,second,ascripting language, suchas R
orPython,ispreferable toa'heavy-duty' language suchas CorJavabecause scripting
languages are easier to get started with.
Other Issues
3.4
his section draws together a number of issues that overlap with the production of
static graphics but are described in more detail elsewhere.
3-D Plots
3.4.1
Static -D plots have limited usefulness because -D structures are oten di cult to
perceive without motion. Nevertheless, it is important to be able to produce -D im-
ages for some purposes. For example, a -D plot can be very effective for visualizing
apredictionsurfacefromamodel.
R provides only simple functionality for drawing -D surfaces via the persp()
function, but the rgl (Adler, ) add-on package provides an interface to the
powerful OpenGL -D graphics system (Schreiner, ).
Speed
3.4.2
In dynamic and interactive statistical graphics, speed is essential. Drawing must be
as fast as possible in order to allow the user to change settings and have the graphics
update in real time. In static graphics, speed is less of an issue; achievability of a par-
ticular result is more important than how long it takes to achieve it. It is acceptable
for a plot to take on the order of seconds to draw rather than milliseconds.
his speed allowance is particularly important in terms of the user interface. For
example, in R a lot of graphics code is written in interpreted R code (which is much
slower than C code). his makes it easier for users to see the code behind graphics
functions, topossiblymodifythecode,andeventowritetheirowncodeforgraphics.
Search WWH ::




Custom Search