[R-SIG-Finance] SVG device with tooltips
Tony Plate
tplate at acm.org
Thu Feb 15 23:33:25 CET 2007
I put experimental SVG device package, which includes the ability to
have popup tooltips, at
http://www.cybermesa.com/~champagne/RSVGwTips/RSVGwTipsDevice_0.6.1.tar.gz
(source)
http://www.cybermesa.com/~champagne/RSVGwTips/RSVGwTipsDevice_0.6.1.zip
(windows binary package)
Examples of the plots produced are at:
http://www.cybermesa.com/~champagne/RSVGwTips/svgplot1.svg
http://www.cybermesa.com/~champagne/RSVGwTips/svgplot2.svg
http://www.cybermesa.com/~champagne/RSVGwTips/svgplot3.svg
(These are the first 3 examples produced by the code in the help file --
I've just put them here so that people can see the SVG output without
having to get, compile and install the package.)
This SVG device is called RSVGwTipsDevice, and is based on the
RSvgDevice package written by T Jake Luciani <jakeluciani at yahoo.com>
(who did express mild interest in these modifications, but didn't have
time to look at them or comment on them.)
Limitations/features are:
* standard graphics primitives are used (points(), rect(), etc), and the
same code should work with any device (for other devices, the calls
that specify tooltips should have no effect.)
* tooltips are attached to shapes: e.g., the output of points(), rect(),
and polygon(), but not lines()
* the tooltip is specified in a separate call to the drawing function
* only the first shape produced by an R drawing function will have a
tooltip (so, if you want each point to have a tooltip, each must be
drawn separately)
* the tooltips that have a title + 2 lines of text probably use
non-standard SVG code -- I wrote the SVG code by trial and error and
it's probably not correct. These tooltips display fine in Firefox, but
the Batik standalone SVG viewer doesn't like them.
One possible approach to get around the limitation that vectorized calls
to points() (etc) only have a tooltip on the first point is to allow
specifying in advance a vector of tooltip text. However, the whole
approach of having to supply the tooltip text in advance is not very
nice -- though it was the only way I could think of making the standard
graphics primitives work with tooltips (because the standard graphics
primitives don't allow optional extra arguments).
If you try this out, please bear in mind that this really is
experimental code. Comments/suggestions/contributions are welcome
(especially from SVG experts!)
It's probably reasonably easy to add other dynamic graphics features
such as zooming and x/y location readout. I just haven't tried, but if
anyone is inspired and comes up with something, I'm happy to try to
integrate it!
-- Tony Plate
More information about the R-SIG-Finance
mailing list