ggplot2 & plotly : date, facet et boxplot

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Alexandre Dangléant
Messages : 270
Enregistré le : 30 Mar 2010, 14:38

ggplot2 & plotly : date, facet et boxplot

Messagepar Alexandre Dangléant » 17 Mar 2016, 13:19

Bonjour,

Je sollicite votre aide car je suis confronté à un problème lié à la conversion d'un ggplot en plotly. C'est un peu délicat à expliquer... Je vais tâcher d'être concis.

Je dispose de relevés de 6 variables, mené en des lieux différents à 2 dates différentes. Je souhaite comparer l'évolution entre les 2 dates (axe des x) de chaque variable (1 par "facet") entre les différents lieux ("fill"). Pour faire des boxplots, j'indique à ggplot que le facteur de regroupement sera une combinaison de date et de lieu. Cela marche très bien. En revanche, lorsque je passe en plotly, la largeur des boxplots est correcte sur la première facet, mais aberrante sur les autres. De plus, l'ajout / retrait de lieu de manière interactive sur la page générée fait varier de manière anarchique la largeur des boxplots de la première facet également...

Voici un code reproductible :

Code : Tout sélectionner

require(ggplot2)
require(plotly)

tab <- data.frame(fac1 = rep(letters[1:3], 100), fac2 = rep(letters[24:26], 100), fac3 = rep(c("A", "B"), 150), x = as.Date(c("2014-01-01", "2014-02-01", "2014-03-15")), y = rnorm(300, 10))

g <- ggplot(tab, aes(x = x, y = y, fill = fac1, group = fac2)) + facet_wrap(~ fac3)
g <- g + geom_boxplot()
g # Là c'est bon

ggplotly(g) # Là, c'est l'anarchie!


C'est moins le bazar que sur mon vrai jeu de données, mais l'idée est là...

J'ai essayé de voir ce qui contrôlait la taille des boxplots en passant par "plotly_build" puis en scrutant minutieusement tous les sous-éléments de la traduction en plotly, cherché encore et encore dans tous les forums, mais en vain. Je commence à croire que je suis le seul à avoir été confronté à ça... J'ai bien trouvé l'argument "box gap", mais cela semble propre à Python.

Quelqu'un a déjà rencontré ce cas de figure?

Au pire, j'en resterais à des moyennes et barres d'erreurs...

D'avance merci!

Pour info, ma version de R est 3.2.4, et :

Code : Tout sélectionner

> packageVersion("ggplot2")
[1] ‘2.1.0’
> packageVersion("plotly")
[1] ‘3.4.1’


Note : ce travail s'inscrit dans le cadre du développement d'une application. L'interactivité offerte par plotly est donc fortement souhaitée.

Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité