Echarts4r + Boxplot + 抖动点:如何让这个组合正常工作?

问题描述 投票:0回答:1

如何让这个组合发挥作用?我可以创建箱线图。我可以创建带有抖动点的散点图,但无法将它们放在一起。有人有什么主意吗?想法是继续使用echarts库。

library(echarts4r)
library(dplyr)

echart1 <- mtcars |>
  group_by(cyl) |>
  e_charts(cyl) |>
  e_scatter_(
    "hp",
    jitter_factor = 2
  ) 

echart2 <- mtcars |>
  group_by(cyl) |>
  e_charts() |>
  e_boxplot(hp)
r boxplot echarts echarts4r
1个回答
0
投票

不确定这么长时间过去后是否有帮助,但我刚刚遇到了你的问题。

它无法以任何可能被认为显而易见的方式工作的原因是因为

echarts
在创建箱形图时始终对分组轴进行分类。当您有散点图时,您需要两个数值轴才能使其有意义。好消息是,您仍然可以这样做,您只需向
echarts
“解释”即可。

让我们从箱线图开始,它提供您想要的外观(例如,x 轴不从零开始)。现在,由于您要抖动这些点,我建议您不要绘制异常值。

接下来是添加抖动图。您需要将其分配给不同的 x 轴。第一个是“0”,因此将其分配给“1”。然后告诉

echarts
如何限制该轴(例如,不要从0开始),在这里你可以隐藏这个新轴。

我将散点放大以使它们明显。

从箱线图的情节开始......

library(tidyverse)
library(echarts4r)

mtcars %>% 
  group_by(cyl) %>% 
  e_charts(cyl) %>% 
  e_boxplot(hp, outliers = F) %>%  # <--turning outlier plotting off
  e_scatter(hp, jitter_factor = 2, symbol_size = 10, # <-- made points HUGE
            x_index = 1,     # <---- give it a new x-axis
            legend = F) %>%  # <---- no legends please
  e_x_axis(index = 1, min = 3, max = 9, # confine to 3 <-> 9
           show = F)                    # don't show axis

© www.soinside.com 2019 - 2024. All rights reserved.