plotly / plotly/plotly.R

geom_GeomLabelRepel() to be implemented

未关闭
#1,972 4 条评论 5 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
R
星标
2.7k
派生
641
PR 合并指标
30 天内没有已合并 PR

描述

I have a graph, made with ggplot, with three labels, each for one variable, but when I try to make it dinamic by using the function ggplotly, I get a warning since the geom geom_label_repel is not implemented yet in plotly.

I copy the script of my graph and the warning I get:

# g1 <- tabla1 %>% ggplot()+
  geom_hline(yintercept = 0, color = "grey", alpha =0.7, size = 0.5) +
  geom_line(aes(Fecha, Cobros),
            size = 1, color = cols_arg) +
  geom_point(aes(Fecha, Cobros),
             size = 2, color = cols_arg) +
  geom_line(aes(Fecha, Pagos),
            size = 1, color = cols_arg2[1]) +
  geom_point(aes(Fecha, Pagos),
             size = 2, color = cols_arg2[1]) +
  geom_col(aes(Fecha, Balanza, fill = color_bza)) +
  scale_fill_manual(values = c("deficit" = cols_arg2[6],
                               "superavit" = cols_arg2[2])) +
  scale_x_date(limits = c(min(tabla1$Fecha),max(tabla1$Fecha)+months(6)),
               date_breaks = "1 months", 
               date_labels = "%b%y", 
               expand = c(0,10))+
  labs(title="xxx",subtitle = "...",x="",y="",
       caption="xxx")+
  theme_minimal() +
  ggrepel::geom_label_repel(data = filter(ungroup(tabla1), Fecha == max(Fecha)),
                            aes(Fecha, Cobros, label = "Cobros"),
                            nudge_x = 30,
                            na.rm = TRUE,
                            size=4,
                            segment.colour = "transparent",
                            color=cols_arg) +
  ggrepel::geom_label_repel(data = filter(ungroup(tabla1), Fecha == max(Fecha)),
                            aes(Fecha, Pagos, label = "Pagos"),
                            nudge_x = 30,
                            na.rm = TRUE,
                            size=4,
                            segment.colour = "transparent",
                            color=cols_arg2[1]) +
  ggrepel::geom_label_repel(data = filter(ungroup(tabla1), Fecha == max(Fecha)),
                            aes(Fecha, Balanza, label = "Balanza"),
                            nudge_x = 40,
                            na.rm = TRUE,
                            size=4,
                            segment.colour = "transparent",
                            color=cols_arg2[6])+
  theme(
    text = element_text(family = familia_fuente), 
    plot.title    = element_markdown(size = 10),
    plot.subtitle = element_markdown(size = 8),
    plot.caption  = element_markdown(size = 6),
    strip.text.y  = element_text(size = 8, face = "bold"),
    axis.text.x   = element_text(size = 6,angle=90),
    axis.text.y   = element_text(size = 8),
    panel.grid.minor.x = element_blank(),
    legend.position = "none",
    strip.placement = "outside")

g1 <- ggplotly(g1) %>%
   layout(hovermode = "x")
g1

THE WARNING MESSAGE:
Warning messages:
1: In geom2trace.default(dots[[1L]][[1L]], dots[[2L]][[1L]], dots[[3L]][[1L]]) :
geom_GeomLabelRepel() has yet to be implemented in plotly.
If you'd like to see this geom implemented,
Please open an issue with your example code at
https://github.com/ropensci/plotly/issues
2: In geom2trace.default(dots[[1L]][[1L]], dots[[2L]][[1L]], dots[[3L]][[1L]]) :
geom_GeomLabelRepel() has yet to be implemented in plotly.
If you'd like to see this geom implemented,
Please open an issue with your example code at
https://github.com/ropensci/plotly/issues
3: In geom2trace.default(dots[[1L]][[1L]], dots[[2L]][[1L]], dots[[3L]][[1L]]) :
geom_GeomLabelRepel() has yet to be implemented in plotly.
If you'd like to see this geom implemented,
Please open an issue with your example code at
https://github.com/ropensci/plotly/issues

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

首先,使用 ggrepel::geom_label_repel() 重现提供的 ggplotly 示例,并检查 geom2trace.default 警告。当 geom_GeomLabelRepel() 在没有该警告的情况下完成转换,并且三个标签在生成的 plotly 图表中渲染出来时,工作就完成了。

由索引模型根据 Issue 内容生成。

评估

技术栈
r
领域
data-visualization
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
停滞
描述清晰度
需要澄清
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。