devSVGTips          package:RSVGTipsDevice          R Documentation

_A _g_r_a_p_h_i_c_s _d_e_v_i_c_e _f_o_r _S_V_G _w_i_t_h _d_y_n_a_m_i_c _t_i_p_s _a_n_d _h_y_p_e_r_l_i_n_k_s

_D_e_s_c_r_i_p_t_i_o_n:

     This function starts up an SVG graphics device that will write to
     a file.  The SVG shapes have optional tooltips and/or hyperlinks.

_U_s_a_g_e:

     devSVGTips(file = "Rplots.svg", width = 10, height = 8,
            bg = "white", fg = "black", onefile=TRUE,
            xmlHeader=FALSE, useStyleAttributes=FALSE,
            toolTipMode = 1, toolTipFontSize = 10,
            toolTipOpacity = 1.0, title = "R SVG Plot", sub.special=TRUE)

_A_r_g_u_m_e_n_t_s:

    file: the file where output will appear

   width: The width of the plot in inches

  height: the height of the plot in inches

      bg: the background color for the plot

      fg: the foreground color for the plot

 onefile: merge plot calls into onefile or separate them to separate
          pages

xmlHeader: Print XML header or not (it is recommended to not print a
          header)

useStyleAttributes: Specify shape attributes in a 'style' attribute or
          as plain attributes (plain attributes is recommended)

toolTipMode: Mode of toop tips: 0 (no tool tips), 1, or 2 (number of
          lines of tool tip)

toolTipFontSize: Size of font in tool tips (in points/pixels)

toolTipOpacity: Opacity of toop tips: between 0 and 1.  A value of 0.9
          allows the image behind the tooltip to be seen, but can
          render slowly on some viewers

   title: Title of plot

sub.special: Unless 'sub.special=FALSE', special SVG characters
          (ampersand, less-than, etc.) in 'title' will be substituted
          by the appropriate XML encoding (if these substitutions are
          not made, it is easy to inadvertently create unusable SVG
          files)

_D_e_t_a_i_l_s:

     This graphics do not appear in any window while they are being
     drawn - SVG commands are written to a file and can be viewed in an
     SVG viewer after the plot is completed.

     After the plot is completed, the function 'dev.off' must be called
     to close the graphics device and flush all unwritten SVG commands
     to the file.

_S_e_e _A_l_s_o:

     SVG viewing Ways to view SVG files. Design and future of the
     RSVGTips device. Overview of the RSVGTips device (many more
     examples). 'setSVGShapeToolTip', 'setSVGShapeURL',
     'getSVGToolTipMode', 'pictex', 'postscript', 'Devices'.

_E_x_a_m_p_l_e_s:

     library("RSVGTipsDevice")
     devSVGTips("svgplot1.svg", toolTipMode=1, title="SVG example plot 1: shapes and points, tooltips are title + 1 line")
     plot(c(0,10),c(0,10), type="n", xlab="x", ylab="y", main="Example SVG plot with title+ 1 line tips (mode=1)")
     setSVGShapeToolTip(title="A rectangle", desc="that is yellow")
     rect(1,1,4,6, col='yellow')
     setSVGShapeToolTip(title="1st circle with title only")
     points(5.5,7.5,cex=20,pch=19,col='red')
     setSVGShapeToolTip(title="A triangle", desc="big and green")
     polygon(c(3,6,8), c(3,6,3), col='green')
     # no tooltips on these points
     points(2:8, 8:2, cex=3, pch=19, col='black')
     # tooltips on each these points
     invisible(sapply(1:7, function(x) {setSVGShapeToolTip(title=paste("point", x)); points(x+1, 8-x, cex=3, pch=1, col='black')}))
     dev.off()

     ## Not run: 
     # Not run in tests because uses the SemiPar package for the fuel.frame data
     # A plot of fuel mileage vs weight
     library("RSVGTipsDevice")
     library("SemiPar")
     data(fuel.frame)
     fuel.frame <- cbind(fuel.frame,
         US=is.element(substring(fuel.frame$car.name, 1, 5),
                       c("Buick", "Chevr", "Chrys", "Dodge", "Eagle",
                         "Ford ", "Mercu", "Oldsm", "Plymo", "Ponti")))
     devSVGTips("mlgvswgt1.svg", height=5, width=7, toolTipMode=1, title="Mileage vs Weight for autos, tooltips are title + 1 line")
     plot(fuel.frame$Weight, fuel.frame$Mileage, type="n", xlab="Weight",
     ylab="Miles per gallon", main="US cars in blue, imports in yellow")
     for (i in seq(len=nrow(fuel.frame))) {
         setSVGShapeToolTip(title=fuel.frame[i,"car.name"],
             desc=paste(fuel.frame[i, "Type"], ", disp=", fuel.frame[i,"Disp."]))
         points(fuel.frame[i,"Weight"], fuel.frame[i,"Mileage"], pch=19,
             cex=2, col=if (fuel.frame[i,"US"]) "blue" else "yellow")
     }
     dev.off()
     ## End(Not run)

