在Plotly中更改R的区域设置(千位分隔符和十进制字符)

时间:2017-07-21 14:23:08

标签: r locale plotly

我想调整图表中的刻度标签,以便它们将逗号显示为小数点分隔符,将点显示为千位分隔符。

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

我的本​​地已设置为"LC_COLLATE=German_Austria.1252;LC_CTYPE=German_Austria.1252;LC_MONETARY=German_Austria.1252;LC_NUMERIC=C;LC_TIME=C"

1 个答案:

答案 0 :(得分:1)

这是一个难看的答案,但你可以设置你的对象:

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

然后从那里创建轴标签:

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

要创建自定义轴标签:

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