我如何在echarts4r图上显示标签,但只是每2或3条?

tyg4sfes  于 2023-04-18  发布在  Echarts
关注(0)|答案(1)|浏览(130)

你好,谢谢你阅读我的文章。我正在用R语言绘制echarts图,我想显示变量的标签,但只在每2或3个条形图中显示,因为我不想让它看起来信息太饱和
我还没有找到一个工作参数e_labels(),有人可以帮助我吗?
代码如下:

library(echarts4r)

mtcars |> 
  tibble::rownames_to_column("model") |> 
  e_charts(model) |> 
  e_bar(cyl) |> 
  e_legend(F) |> 
  e_labels()
zdwk9cvp

zdwk9cvp1#

我认为用mtcars做这件事的一个好方法是创建一个标签列,当cyl中的值与前一行不同时,该列包含文本,然后我们可以将标签绑定到条形图上,如this答案中所述。

mtcars |>
    tibble::rownames_to_column("model") |>
    dplyr::mutate(
        cyl_changed = cyl != dplyr::lag(cyl, default = TRUE),
        label = ifelse(cyl_changed, cyl, "")
    ) |>
    e_charts(model) |>
    e_bar(
        cyl,
        bind = label,
        label = list(
            show = TRUE,
            formatter = "{b}",
            position = "outside"
        )
    ) |>
    e_legend(F)

如果你的真实的数据没有这个属性,你可以每三行创建一个标签,例如:

dplyr::mutate(
        label = ifelse(
            dplyr::row_number() %% 3 == 0,
            as.character(cyl),
            ""
        )
    )

相关问题