Hola, gracias a los dos.

Al final lo he conseguido, aunque todavía me queda alguna cosa.

Los ejemplos de Oscar me funcionan bien pero con ggplot no me funciona 
gridToSVG (se queda todo acumulado en la esquina superior izquierda).

He actualizado la versión del gridSVG a la dev (1.0) y ahora me 
funciona. El problema es que la generación del SVG por lo que he visto 
cambia algunas cosas y
los ejemplos de Oscar no me funcionan bien del todo. En chrome no 
funcionan y en firefox si ...

Estuve también hacinendo pruebas con unos ejemplos que encontré creo que 
en el github de Oscar sobre qTip (estos me gustan más porque puedes 
jugar con el css y darle el toque que necesites) pero tenía el mismo 
problema no me acabada ir bien.

Luego he estado mirándome este pdf : 
http://www.stat.auckland.ac.nz/~paul/gridSVG/gridsvg.pdf 
<http://www.stat.auckland.ac.nz/%7Epaul/gridSVG/gridsvg.pdf> de las 
referencias que puso Oscar.

Aquí están los ejemplos dinámicos de ese pdf: 
http://www.stat.auckland.ac.nz/~paul/gridSVG/ 
<http://www.stat.auckland.ac.nz/%7Epaul/gridSVG/> y en concreto lo que 
yo quería:

http://www.stat.auckland.ac.nz/~paul/gridSVG/qplotbrowser.svg 
<http://www.stat.auckland.ac.nz/%7Epaul/gridSVG/qplotbrowser.svg>

Retocando un poco este código con ayuda del otro ejemplo de Oscar 
conseguí lo que quería aunque ahora quiero retocar el aspecto visual 
(puede que use qTip o este 
http://twitter.github.com/bootstrap/javascript.html#tooltips )

En definitiva, gracias a los dos, copio y pego mi código por si sirve de 
algo para alguien:

library("ggplot2")
library("gridSVG")

x <- rnorm(10)
y <- rnorm(10)
id <- seq_along(x)
df <- data.frame(x, y, id)

ggplot(dat=df,aes(x=x,y=y))+geom_point(size=5)

grid.ls()
grobs <- grid.ls()
names <- grobs$name[grobs$type == "grobListing"]
i<-names[grep("points",names)]


grid.garnish(i, onmouseover=paste("showTooltip(evt, '", df$id, "')"),
                 onmouseout=rep("hideTooltip()",nrow(df)), grep=TRUE, 
group=FALSE)


grid.script(filename="tooltip.js")
gridToSVG("qplotbrowser.svg")
browseURL("qplotbrowser.svg.html")



Necesario tener el tooltip.js en la misma carpeta, lo conseguí aquí: 
http://www.stat.auckland.ac.nz/~paul/gridSVG/tooltip.js 
<http://www.stat.auckland.ac.nz/%7Epaul/gridSVG/tooltip.js>


Saludos y gracias!

PD, mis versiones de paquetes:

ther attached packages:
[1] gridSVG_1.0-0      XML_3.96-0.2       RJSONIO_1.0-2 ggplot2_0.9.3.1.99





El 23/03/13 17:12, daniel escribió:
> Jorge mas abajo encontraras mi comentario actualizado con lo enviado
> por Oscar, pero primero quiero agradecer a Oscar por los vinculos
> enviados, espero hacer buen uso de ellos en el futuro. Pero sigo
> teniendo problemas para la integración de ggplot2 y gridSVG. Hace
> tiempo (varios meses no me acuerdo donde) lei que Murrell pensaba
> sacar una actualizacion de gridSVG para abril del 2013 y que esa
> version trabajaba con la que sera la proxima version de R (no la
> recientemente publicada 2.15.3 sino la que se espera para abril), por
> lo que supongo mis problemas surgen de no utilizar la version correcta
> de gridSVG, en mi caso puedo esperar a la alineacion planetaria de las
> nuevas versiones. Posiblemente estoy en lo incorrecto y espero, me
> interesa, que me corrijan. Mientras tanto del excelente material que
> nos envia Oscar, veo un grafico en lattice que probalemente le sirva a
> Jorge:
>
>   http://www.stat.auckland.ac.nz/~paul/Talks/Genentech2011/huber.svg.html
>
> El codigo de R es:
>
> http://www.stat.auckland.ac.nz/~paul/Talks/Genentech2011/huber.R
>
> Ojo que hay que tener el siguiente script en el mismo directorio de
> huber.R con el nombre de archivo huber,js
>
>
> highlight = function(i) {
>    var point = document.getElementById("point." + i);
>    var label = document.getElementById("label." + i);
>    point.setAttribute("r", point.getAttribute("r")*2);
>    label.setAttribute("visibility", "visible");
> }
>
> dim = function(i) {
>    var point = document.getElementById("point." + i);
>    var label = document.getElementById("label." + i);
>    point.setAttribute("r", point.getAttribute("r")/2);
>    label.setAttribute("visibility", "hidden");
> }
>
> Lo encontre en:
>
> http://www.stat.auckland.ac.nz/~paul/Talks/Genentech2011/huber.js
>
> Ojo hay que agregar la libreria grid. La siguiente es la descripcion
> de mi sesion en R
>
>> sessionInfo()
> R version 2.15.3 (2013-03-01)
> Platform: x86_64-pc-linux-gnu (64-bit)
>
> locale:
>   [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
> LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
> LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
>   [7] LC_PAPER=C                 LC_NAME=C
> LC_ADDRESS=C               LC_TELEPHONE=C
> LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>
> attached base packages:
> [1] grid      stats     graphics  grDevices utils     datasets
> methods   base
>
> other attached packages:
> [1] gridSVG_0.9-1   lattice_0.20-13
>
> loaded via a namespace (and not attached):
> [1] tools_2.15.3
>
> Seguramente hay otros ejemplos que se podrian adapatar y usar, pero
> este me parecio el mas directo.
>
>
> Daniel Merino
>
>
> El día 22 de marzo de 2013 19:31, Oscar Perpiñán Lamigueiro
> <oscar.perpinan@gmail.com> escribió:
>> Hola,
>>
>> Yo he utilizado gridSVG con gráficos generados por lattice para obtener
>> animación y para añadir "tooltips". Copio a continuación algunos enlaces
>> con código y algo de explicación:
>>
>> - http://oscarperpinan.github.com/spacetime-vis/images/navarraRadiation.svg
>>    (código en https://github.com/oscarperpinan/spacetime-vis/tree/master/code/timeHorizontalAxis.R)
>> - http://oscarperpinan.github.com/spacetime-vis/images/bubbles.svg
>>    (código en https://github.com/oscarperpinan/spacetime-vis/tree/master/code/timeComplementary.R)
>> - http://oscarperpinan.github.com/spacetime-vis/airMadrid.html (código
>>    en https://github.com/oscarperpinan/spacetime-vis/tree/master/code/thematicMaps.R)
>> - http://procomun.wordpress.com/2013/01/04/tooltips-with-r/ (en breve lo
>>    modificaré para usar qTip2 en lugar de tooltipster)
>> - http://procomun.wordpress.com/2011/11/12/animation-with-gridsvg/
>> - http://procomun.wordpress.com/2012/02/23/maps_with_r_3/
>>
>> Por otra parte, en la web de Murrel hay varios ejemplos, algunos con
>> ggplot2:
>>
>> http://www.stat.auckland.ac.nz/~paul/R/gridSVG/
>>
>> Saludos.
>>
>> Oscar.
>>
>> daniel <daniel319@gmail.com> writes:
>>
>>> Jorge,
>>>
>>> Mi experiencia no coincide con tu objetivo pero por lo que sirva te la cuento.
>>>
>>> Normalmente uso ggplot2 para gráficos planos inanimados. Si recuerdo
>>> bien ggplot2 te permite guardar el gráfico como svg, si tienes
>>> experiencia en javascript y html podrías trabajar sobre el archivo svg
>>> producido por ggplo2 y ver que pasa con la animación del etiquetado.
>>> No lo he hecho y tampoco lo he intentado.
>>>
>>> Cuando necesité lo que buscas use el paquete SVGAnnotation. A mi me
>>> funciona el siguiente script (ver el sessionInfo al final y lo veo en
>>> Chrome, puede ser que en IE tengas problemas con versiones no
>>> actualizadas):
>>>
>>> library("XML")
>>> library("SVGAnnotation")
>>>
>>> # Create the basic plot
>>> doc = svgPlot(plot(mpg ~ wt, mtcars,
>>>                     main = "Motor Trend Car Road Tests", pch=19,
>>>                     col= "#377EB8"))
>>>
>>>   # Annotate title and axes
>>> ax = getAxesLabelNodes(doc)
>>>
>>>   # Add link from title to motor trend website
>>> addLink(ax$title, "http://www.motortrend.com", addArea = TRUE)
>>>
>>>   # Add tooltips to the x, y axes
>>> tips = c("Weight in units of lb/1000", "Miles per US gallon")
>>> addToolTips(ax[c("xaxis", "yaxis")], tips)
>>>
>>> addToolTips(doc, apply(mtcars, 1, function(x)
>>>                         paste(names(mtcars), x, sep = " = ",
>>>                                     collapse = ", ")))
>>>
>>>
>>> saveXML(doc, "../mt_tips.svg")
>>>
>>>
>>> depth.col = gray.colors(100)[cut(quakes$depth, 100, label=FALSE)]
>>> depth.ord = rev(order(quakes$depth))
>>> doc = svgPlot(
>>>   plot(lat ~ long, data = quakes[depth.ord, ],
>>>        pch = 19, col = depth.col[depth.ord],
>>>        xlab = "Longitude", ylab="Latitude",
>>>        main = "Fiji Region Earthquakes") )
>>>
>>>
>>> ax = getAxesLabelNodes(doc)
>>>
>>>
>>> addToolTips(ax[c("xaxis", "yaxis")], c("Degrees east of the prime meridean",
>>>              "Degrees south of the equator"), addArea = TRUE)
>>>
>>>
>>> usgs = "http://earthquake.usgs.gov/eqcenter/recenteqsww/"
>>> region = "Maps/region/S_Pacific.php"
>>> addAxesLinks(ax$title, paste(usgs, region, sep = ""))
>>>
>>>
>>> addToolTips(doc,
>>>               apply(quakes[depth.ord, ], 1,
>>>                      function(x)
>>>                         paste(names(quakes), x,
>>>                               sep = " = ", collapse = ", ")))
>>>
>>>
>>> # This is a relative path to the CSS file.
>>> # The default path will be absolute.
>>> #addCSS(doc, css = "../../inst/CSS/RSVGPlot.css")
>>>
>>>
>>> saveXML(doc, "quakes_tips.svg")
>>>
>>>   > sessionInfo()
>>> R version 2.15.2 (2012-10-26)
>>> Platform: i386-w64-mingw32/i386 (32-bit)
>>>
>>> locale:
>>> [1] LC_COLLATE=Spanish_Argentina.1252  LC_CTYPE=Spanish_Argentina.1252
>>>     LC_MONETARY=Spanish_Argentina.1252 LC_NUMERIC=C
>>> [5] LC_TIME=Spanish_Argentina.1252
>>>
>>> attached base packages:
>>> [1] stats     graphics  grDevices utils     datasets  methods   base
>>>
>>> other attached packages:
>>> [1] SVGAnnotation_0.93-1 Cairo_1.5-2          XML_3.96-0.2
>>>
>>>
>>> Claro que lo anterior implica hacer nuevamente en gráfico. Si vas a
>>> tomarte ese trabajo investiga las opciones de googleVis ya que de
>>> todas formas lo vas a publicar en la Web. A mi me han funcionado muy
>>> bien:
>>>
>>> https://developers.google.com/chart/interactive/docs/gallery/scatterchart
>>>
>>> http://cran.r-project.org/web/packages/googleVis/vignettes/googleVis.pdf
>>> (páginas 29 y 30 para la alternativa shiny)
>>>
>>> Suerte, y espero interesado en ver si alguien tiene solucionado el
>>> asunto usando gggplot2 y obteniendo un svg con etiquetas dinámicas.
>>>
>>> Daniel Merino
>>>
>>>
>>> El día 22 de marzo de 2013 16:09, Jorge Ayuso Rejas
>>> <jayusor@gmail.com> escribió:
>>>> Buenas tardes,
>>>>
>>>> Estoy intereaso en  añadir a un gráfico que ya tengo hecho con gglplot2
>>>> y que voy a publicar en una web un poco de interacción.
>>>> Simplemente que al pasar el ratón por los puntos del gráfico se muestre
>>>> la información del punto.
>>>>
>>>> Por lo que he podido investigar la manera es convertir el gráfico en un
>>>> svg y con ayuda de javascript añadir esta función, aquí hay un ejemplo
>>>> que no soy capaz de producir, consigo el svg pero no tiene nada de acción:
>>>>
>>>> http://stackoverflow.com/questions/11134379/interactive-point-labels-with-gridsvg-and-ggplot2-v-0-9-0
>>>>
>>>> Por lo que he podido investigar buscando por internet hay problemas con
>>>> versiones de ggplot y demás.
>>>>
>>>> También he intentado un paquete llamado SVGAnottaion pero tampoco he
>>>> conseguido nada, aquí una web con ejemplos:
>>>> http://www.omegahat.org/SVGAnnotation/SVGAnnotationPaper/SVGAnnotationPaper.html
>>>>
>>>> Aquí lo que me gustaría conseguir (con un gráfico de ggplot2) sacado de
>>>> esta web:
>>>> http://www.omegahat.org/SVGAnnotation/SVGAnnotationPaper/XMLExamples/quakes_tips.svg
>>>>
>>>>
>>>> Por lo que creo me vendría mejor usar el primero de los paquetes gridSVG
>>>> que parece funcionar mejor con ggplot y además tener más futuro.
>>>>
>>>> ¿Alguien tiene conocimientos de esto? Muchas gracias de antemano y buen
>>>> fin de semana.
>>>>
>>>>
>>>> --
>>>> Jorge Ayuso Rejas
>>>>
>>>>
>>>>          [[alternative HTML version deleted]]
>>>>
>>>>
>>>> _______________________________________________
>>>> R-help-es mailing list
>>>> R-help-es@r-project.org
>>>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>>>
>>
>> --
>> Oscar Perpiñán Lamigueiro
>> Grupo de Sistemas Fotovoltaicos (IES-UPM)
>> Dpto. Ingeniería Eléctrica (EUITI-UPM)
>> URL: http://procomun.wordpress.com
>> Twitter: @oscarperpinan
>
>


-- 
Jorge Ayuso Rejas


	[[alternative HTML version deleted]]

