2017-07-21 3 views
1

Ich möchte die Hilfsstrichbeschriftungen in einem Plotly-Diagramm so anpassen, dass sie ein Komma als Dezimaltrennzeichen und einen Punkt als Tausendertrennzeichen anzeigen würden.Gebietsschema in Plotly für R ändern (Tausendertrennzeichen und Dezimalzeichen)

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")) 

meine lokale bereits auf "LC_COLLATE=German_Austria.1252;LC_CTYPE=German_Austria.1252;LC_MONETARY=German_Austria.1252;LC_NUMERIC=C;LC_TIME=C"

+0

Ich kann Ihren Code nicht ausführen. Ist es reproduzierbar? – Masoud

+0

@Masoud müssen Sie 'Bibliothek (dplyr)' – amonk

+1

Dank @amonk und Entschuldigung dafür! 'Bibliothek (dplyr)' fehlte tatsächlich. @Masoud ich habe gerade meine Sitzung neu gestartet, habe den Code wie oben ausgeführt und es ist tatsächlich gelaufen. – phillyooo

Antwort

1

Dies ist eine hässliche Antwort, aber Sie können Ihr Objekt einrichten:

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

und erstellen Sie dann die Achsenbeschriftungen von dort:

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

So erstellen Sie ein benutzerdefiniertes Achsenetikett:

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