echarts4r去掉千位逗号

Remove comma in thousands in echarts4r

这是用 echarts4r 制作的情节:

library(tibble)
library(echarts4r)

data_test <- tibble(
  year = seq(1900, 1920, 1),
  variable = seq(200, 400, 10)
)

data_test %>%
  e_charts(year) %>%
  e_x_axis(year) %>%
  e_y_axis(variable) %>%
  e_line(variable) 

如何格式化 x 轴上的值,以便我有 1900 而不是 1,900 例如?

我检查了 here 但找不到解决方案。

可能不是最优雅的解决方案,但这应该可行:

data_test %>%
    e_charts(year) %>%
    e_x_axis(type='category') %>%
    e_y_axis(variable) %>%
    e_line(variable)

为更清晰的输出添加选项:

data_test %>%
    e_charts(year) %>%
    e_x_axis(type='category',axisLabel = list(interval = 4),axisTick = list(inside=TRUE,alignWithLabel=TRUE,interval=4)) %>%
    e_y_axis(variable) %>%
    e_line(variable)

输出:

这个问题我开了一个GitHub issue,这是echarts4r开发者的回答(我把它缩短了一点,原答案见link)。

两种解法

1) 将变量 year 转换为一个因子。这仅在没有缺失年份的情况下有效。

library(tibble)
library(echarts4r)

data_test <- tibble(
    year = seq(1900, 1920, 1),
    variable = seq(200, 400, 10)
)

data_test %>%
    dplyr::mutate(year = as.factor(year)) %>% 
    e_charts(year) %>%
    e_line(variable)

2)修改JavaScript函数。这更稳健,并且在缺少年份时有效。

library(echarts4r)

data_test <- tibble(
    year = c(1900, 1901, 1905),
    variable = 1:3
)

label <- list(
    formatter = htmlwidgets::JS(
        'function(value, index){
            return value;
        }'
    )
)

data_test %>%
    e_charts(year) %>%
    e_y_axis(variable) %>% 
    e_line(variable) %>% 
    e_x_axis(serie = year, axisLabel = label)