Augmenter la marge de gauche comme le suggère @Codutie dans sa réponse n'aide que dans une certaine mesure (du moins dans Plotly v4.7.1+). La majeure partie de la marge de 150 pixels sur la gauche est de l'espace perdu, comme on peut le voir dans la capture d'écran ci-dessous :
Code R pour générer le graphique ci-dessus (de @Codutie) :
library(plotly)
plot_ly(mtcars, x = ~ wt, y = ~ paste0(hp, '0000')) %>%
layout(margin = list(l = 150, r = 20, b = 10, t = 10))
Plotly ayant pour objectif d'être réactif, il effectue automatiquement une grande partie de la mise à l'échelle de la mise en page - ce qui est généralement une bonne chose à mon avis, car vous n'avez pas besoin de trop bricoler pour obtenir un graphique présentable. Bien sûr, les résultats de la mise à l'échelle automatique de Plotly ne sont pas toujours parfaits ou ne correspondent pas exactement à ce que l'on souhaite obtenir, et c'est la raison pour laquelle il existe de nombreux attributs (de mise en page) dédiés vous permettant de manipuler certains aspects de votre intrigue. Malheureusement, il n'existe pas d'attribut permettant de définir la distance entre l'étiquette d'un axe et l'axe lui-même. (ou les étiquettes des axes).
Au lieu de cela, vous pouvez compter sur la solution de contournement suivante pour manipuler la distance entre l'axe et son étiquette en définissant une chaîne de titre appropriée pour l'axe des ordonnées :
plot_ly(mtcars, x = ~ wt, y = ~ paste0(hp, '0000')) %>%
layout(margin = list(l = 150, r = 20, b = 10, t = 10),
yaxis = list(title = paste0(c(rep(" ", 20),
"Gross horsepower",
rep(" ", 20),
rep("\n ", 3)),
collapse = "")))
Cela se traduit par :
Explication des composants du titre de l'axe des ordonnées :
-
rep("\n ", 3)
: C'est la partie principale de l'astuce pour augmenter la distance - il suffit de suffixer le titre actuel ( "Gross horsepower"
) avec des nouvelles lignes et des espaces insécables.
-
rep(" ", 20)
: Il s'agit d'une mesure supplémentaire pour s'assurer que la mise à l'échelle automatique de Plotly n'interfère pas à nouveau - en enveloppant le titre réel dans 40 espaces insécables (il pourrait y en avoir plus/moins bien sûr). Sinon, le texte Puissance brute serait placé entre deux ticks d'axe dès que la hauteur de la parcelle est suffisamment grande pour le permettre "physiquement" - ce qui ferait échouer notre tentative de définir manuellement la distance parce que nous devrions utiliser un combo newline-non-breaking-space beaucoup plus grand pour obtenir à nouveau la même distance et - plus important encore - la distance dépendrait de la hauteur de la parcelle. Dans le graphique ci-dessus, ce n'est pas vraiment nécessaire, car il y a autant de ticks sur l'axe des y qu'il faudrait afficher le graphique avec une hauteur bien supérieure à 1000px pour atteindre ce point critique.