echarts4r:生成带有极坐标的条形图

时间:2018-11-06 20:43:47

标签: r echarts

我正在尝试使用echarts4r(一种流行的Javascript Echarts库的R接口)在极坐标系内建立条形图

可用的帮助文件指示根本不可能。在R中,e_bar()中没有坐标相关的自变量(与e_line()不同,后者确实有一个)。 Echarts文档还指出“可以在散点图和折线图中使用极坐标”。

然而,下面是Echarts画廊中的一个示例:该情节:https://ecomfe.github.io/echarts-examples/public/editor.html?c=bar-polar-real-estate

我的尝试(显然没有成功)是:

gen_int <- function(n, k = 10) {
  sample(as.integer(1:n), size = k, replace = TRUE)
}
library(dplyr)

dat <- tibble(id = letters[1:10],
              x = gen_int(10),
              y = gen_int(10))

library(echarts4r)

dat %>% 
    slice(1:5) %>%
    e_charts(id) %>% 
    e_polar() %>% 
    e_bar(x, coordinateSystem = list('polar')) 

任何想法如何做到这一点?在ggplot2中,它看起来像这样:

dat %>% 
    ggplot(aes(x = id, y = x)) +
    geom_col() +
    coord_polar()

enter image description here

感谢任何提示!

1 个答案:

答案 0 :(得分:1)

有趣。我们可以通过稍微修改e_polar中的示例来实现这一点。

df <- data.frame(x = 1:10, y = seq(1, 20, by = 2))

df %>% 
    e_charts(x) %>% 
    e_polar() %>% 
    e_angle_axis() %>% 
    e_radius_axis() %>% 
    e_bar(y, coordinateSystem = "polar") 

如您在链接示例中所见,需要极轴,半径轴和角度轴。