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 摘要。