2017-07-21 1 views
1

Je souhaite ajuster les étiquettes de graduation dans un graphique d'intrigue afin qu'ils affichent une virgule comme séparateur décimal et un point comme un séparateur de milliers.Modifier les paramètres régionaux dans Plotly for R (séparateur de milliers et caractère décimal)

library(plotly) 
library(ggplot2) 
library(dplyr) 
diamonds %>% 
    mutate(cut = as.character(cut)) %>% 
    count(cut, clarity) %>% 
    plot_ly(x = ~cut, y = ~n, color = ~clarity) %>% 
     layout(yaxis = list(tickformat = ",.1f")) 

mon local est déjà mis à "LC_COLLATE=German_Austria.1252;LC_CTYPE=German_Austria.1252;LC_MONETARY=German_Austria.1252;LC_NUMERIC=C;LC_TIME=C"

+0

Je ne peux pas exécuter votre code. Est-ce reproductible? – Masoud

+0

@Masoud vous devez inclure 'library (dplyr)' – amonk

+1

merci @amonk et excuses pour cela! 'library (dplyr)' était en effet manquant. @Masoud je viens de redémarrer ma session, a couru le code comme ci-dessus et il a effectivement couru. – phillyooo

Répondre

1

Ceci est une réponse laid, mais vous pouvez configurer votre objet:

d2 <- diamonds %>% 
    mutate(cut = as.character(cut)) %>% 
    count(cut, clarity) 

puis créer les étiquettes d'axe à partir de là:

ticklabels <- seq(from=0, to=round(max(d2$n), digits = -3), by=1000) 

Pour créer une étiquette d'axe personnalisée:

plot_ly(d2, x = ~cut, y = ~n, color = ~clarity) %>% 
    layout(yaxis = list(tickvals = ticklabels, ticktext = paste(ticklabels/1000, ".000", ",00", sep="") ))