Buenas. Esta mañana estoy trasteando un poco con googlevis, sobre todo para ver si introducimos algunos gráficos chulos en la página web de la empresa ( hacemos estudios sociológicos). Y estaba viendo esta página http://neurochem.sisbio.recerca.upc.edu/?p=276 y no encuentro la forma de reproducir el gráfico de las puntuaciones factoriales . Usando gvisScatterChart puedo dibujar los puntos pero no sé cómo poner un color para cada especie. Lo que he hecho es library(googleVis) data(iris) mod <- prcomp(iris[, 1:4]) scores <- as.data.frame(mod$x) chart2<- gvisScatterChart(scores) plot(chart2) Pero no sé como hacer para que tome un color distinto según la Especia. Podrían unir ggplot2 y googlevis ;) Saludos
Hola José Luis, Realmente en la página que comentas, fíjate que están representando tan sólo los componentes principales PC1 y PC2. Para pintar tan sólo esos dos ejes, realmente el código debiera de haber sido: chart2<- gvisScatterChart(scores*[,1:2]*) Pero en ese gráfico no se identifican las diferentes variedades: setosa, versicolor, virginica. Es aquí donde aparece un poco la complejidad hasta preparar los datos en la forma adecuada para que gvisScatterChart lo pueda procesar identificando cada serie como diferente.La clave de la ordenación aparece en la página de la función: http://code.google.com/intl/es-ES/apis/chart/interactive/docs/gallery/scatterchart.html en la sección donde se comenta como representar múltiples series. "... *To specify multiple series, specify two or more Y-axis columns, and specify Y values in only one Y co....* ..." Con el siguiente código reproduces el ejemplo, incluyendo el título, los títulos de los ejes y el tamaño de los puntos: ########################## library(googleVis) data(iris) mod <- prcomp(iris[, 1:4], scale=T) scor.df<-data.frame( x=mod$x[,1], setosa=c(mod$x[1:50,2],rep(NA,100)), versicolor=c(rep(NA,50),mod$x[51:100,2],rep(NA,50)), virginica=c(rep(NA,100),mod$x[101:150,2]) ) chart3<- gvisScatterChart(scor.df, options=list(pointSize=3, title="PCA Scoreplot", vAxis="{title:''PC2''}", hAxis="{title:''PC1''}" ) ) plot(chart3) ########################### Saludos, Carlos Ortega www.qualityexcellence.es El 7 de marzo de 2012 12:45, José Luis Cañadas <canadasreche@gmail.com>escribió:> Buenas. > Esta mañana estoy trasteando un poco con googlevis, sobre todo para ver si > introducimos algunos gráficos chulos en la página web de la empresa ( > hacemos estudios sociológicos). > > Y estaba viendo esta página http://neurochem.sisbio.** > recerca.upc.edu/?p=276 <http://neurochem.sisbio.recerca.upc.edu/?p=276> y > no encuentro la forma de reproducir el gráfico de las puntuaciones > factoriales . Usando gvisScatterChart puedo dibujar los puntos pero no sé > cómo poner un color para cada especie. > > Lo que he hecho es > > library(googleVis) > data(iris) > mod <- prcomp(iris[, 1:4]) > > scores <- as.data.frame(mod$x) > chart2<- gvisScatterChart(scores) > plot(chart2) > > Pero no sé como hacer para que tome un color distinto según la Especia. > Podrían unir ggplot2 y googlevis ;) > > Saludos > > ______________________________**_________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/**listinfo/r-help-es<https://stat.ethz.ch/mailman/listinfo/r-help-es> >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]
Muchas gracias Carlos. Eres un crack. Así que el truco era crear las series poniendo NA dónde corresponde con las otras variedades. Saludos. El 07/03/12 18:14, Carlos Ortega escribió:> Hola José Luis, > > Realmente en la página que comentas, fíjate que están representando > tan sólo los componentes principales PC1 y PC2. > Para pintar tan sólo esos dos ejes, realmente el código debiera de > haber sido: > > chart2<- gvisScatterChart(scores*[,1:2]*) > > Pero en ese gráfico no se identifican las diferentes variedades: > setosa, versicolor, virginica. > > Es aquí donde aparece un poco la complejidad hasta preparar los datos > en la forma adecuada para que gvisScatterChart lo pueda procesar > identificando cada serie como diferente.La clave de la ordenación > aparece en la página de la función: > http://code.google.com/intl/es-ES/apis/chart/interactive/docs/gallery/scatterchart.html > > > en la sección donde se comenta como representar múltiples series. > "... > /To specify multiple series, specify two or more Y-axis columns, and > specify Y values in only one Y co..../ > ..." > > Con el siguiente código reproduces el ejemplo, incluyendo el título, > los títulos de los ejes y el tamaño de los puntos: > > ########################## > library(googleVis) > data(iris) > mod <- prcomp(iris[, 1:4], scale=T) > > scor.df<-data.frame( > x=mod$x[,1], > setosa=c(mod$x[1:50,2],rep(NA,100)), > versicolor=c(rep(NA,50),mod$x[51:100,2],rep(NA,50)), > virginica=c(rep(NA,100),mod$x[101:150,2]) > ) > > chart3<- gvisScatterChart(scor.df, > options=list(pointSize=3, > title="PCA Scoreplot", > vAxis="{title:''PC2''}", > hAxis="{title:''PC1''}" > ) > > ) > plot(chart3) > ########################### > > > Saludos, > Carlos Ortega > www.qualityexcellence.es <http://www.qualityexcellence.es> > > El 7 de marzo de 2012 12:45, José Luis Cañadas <canadasreche@gmail.com > <mailto:canadasreche@gmail.com>> escribió: > > Buenas. > Esta mañana estoy trasteando un poco con googlevis, sobre todo > para ver si introducimos algunos gráficos chulos en la página web > de la empresa ( hacemos estudios sociológicos). > > Y estaba viendo esta página > http://neurochem.sisbio.recerca.upc.edu/?p=276 y no encuentro la > forma de reproducir el gráfico de las puntuaciones factoriales . > Usando gvisScatterChart puedo dibujar los puntos pero no sé cómo > poner un color para cada especie. > > Lo que he hecho es > > library(googleVis) > data(iris) > mod <- prcomp(iris[, 1:4]) > > scores <- as.data.frame(mod$x) > chart2<- gvisScatterChart(scores) > plot(chart2) > > Pero no sé como hacer para que tome un color distinto según la > Especia. Podrían unir ggplot2 y googlevis ;) > > Saludos > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org <mailto:R-help-es@r-project.org> > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > -- > Saludos, > Carlos Ortega > www.qualityexcellence.es <http://www.qualityexcellence.es>[[alternative HTML version deleted]]
Sí... En la página de la función (la que mantiene Google) está esa clave, la verdad que no muy destacada, ni con ejemplos reproducibles claros.. Los "null" de esta tabla, son los "NA" de R... X-valuesSeries 1 Y ValuesSeries 2 Y Values10null7520null1833null225516null14 61null483null Saludos, Carlos Ortega www.qualityexcellence.es El 7 de marzo de 2012 18:31, jose luis cañadas <canadasreche@gmail.com>escribió:> Muchas gracias Carlos. > Eres un crack. Así que el truco era crear las series poniendo NA dónde > corresponde con las otras variedades. > > Saludos. > > > > El 07/03/12 18:14, Carlos Ortega escribió: > > Hola José Luis, > > Realmente en la página que comentas, fíjate que están representando tan > sólo los componentes principales PC1 y PC2. > Para pintar tan sólo esos dos ejes, realmente el código debiera de haber > sido: > > chart2<- gvisScatterChart(scores*[,1:2]*) > > Pero en ese gráfico no se identifican las diferentes variedades: setosa, > versicolor, virginica. > > Es aquí donde aparece un poco la complejidad hasta preparar los datos en > la forma adecuada para que gvisScatterChart lo pueda procesar identificando > cada serie como diferente.La clave de la ordenación aparece en la página > de la función: > > http://code.google.com/intl/es-ES/apis/chart/interactive/docs/gallery/scatterchart.html > > en la sección donde se comenta como representar múltiples series. > "... > *To specify multiple series, specify two or more Y-axis columns, and > specify Y values in only one Y co....* > ..." > > Con el siguiente código reproduces el ejemplo, incluyendo el título, los > títulos de los ejes y el tamaño de los puntos: > > ########################## > library(googleVis) > data(iris) > mod <- prcomp(iris[, 1:4], scale=T) > > scor.df<-data.frame( > x=mod$x[,1], > setosa=c(mod$x[1:50,2],rep(NA,100)), > versicolor=c(rep(NA,50),mod$x[51:100,2],rep(NA,50)), > virginica=c(rep(NA,100),mod$x[101:150,2]) > ) > > chart3<- gvisScatterChart(scor.df, > options=list(pointSize=3, > title="PCA Scoreplot", > vAxis="{title:''PC2''}", > hAxis="{title:''PC1''}" > ) > > ) > plot(chart3) > ########################### > > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > El 7 de marzo de 2012 12:45, José Luis Cañadas <canadasreche@gmail.com>escribió: > >> Buenas. >> Esta mañana estoy trasteando un poco con googlevis, sobre todo para ver >> si introducimos algunos gráficos chulos en la página web de la empresa ( >> hacemos estudios sociológicos). >> >> Y estaba viendo esta página >> http://neurochem.sisbio.recerca.upc.edu/?p=276 y no encuentro la forma >> de reproducir el gráfico de las puntuaciones factoriales . Usando >> gvisScatterChart puedo dibujar los puntos pero no sé cómo poner un color >> para cada especie. >> >> Lo que he hecho es >> >> library(googleVis) >> data(iris) >> mod <- prcomp(iris[, 1:4]) >> >> scores <- as.data.frame(mod$x) >> chart2<- gvisScatterChart(scores) >> plot(chart2) >> >> Pero no sé como hacer para que tome un color distinto según la Especia. >> Podrían unir ggplot2 y googlevis ;) >> >> Saludos >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> > > > > -- > Saludos, > Carlos Ortega > www.qualityexcellence.es > >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]