plotly / plotly/plotly.R

geom_flow() has yet to be implemented in plotly

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

还没有人认领这个 Issue。

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

描述

I've added a reproducible example here. The plot will work under normal ggplot conditions but not if you send it to ggplotly

library(ggplot2)
library(ggalluvial)
library(tidyverse)

data(vaccinations)
levels(vaccinations$response) <- rev(levels(vaccinations$response))

vaccinations <- vaccinations %>% 
    group_by(survey) %>% 
    mutate(pct = freq / sum(freq)) %>% 
    ungroup() %>% 
    mutate(
        test_color = case_when(
            subject %in% {vaccinations %>% 
                filter(
                    survey == "ms460_NSA" & response %in% "Never"
                ) %>% 
                distinct(subject) %>% 
                pull()} ~ "Yes",
            TRUE        ~ "No"
        )
    )

g <- ggplot(vaccinations,
       aes(x = survey, stratum = response, alluvium = subject,
           y = pct,
           fill = test_color,
           label = response)) +
    scale_x_discrete(expand = c(.1, .1)) +
    scale_y_continuous(label = scales::percent_format()) +
    scale_fill_manual(values = c("Yes" = "cadetblue1", "No" = "grey50")) +
    geom_flow() +
    geom_stratum(alpha = .5) +
    geom_text(aes(label = paste0(..stratum.., "\n", scales::percent(..count.., accuracy = .1))), stat = "stratum", size = 3) +
    theme(legend.position = "none") +
    ggtitle("vaccination survey responses at three points in time")

g
g %>% ggplotly()

贡献指南

打开贡献指南

从这里开始

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

调研方向

首先在 R 中复现提供的疫苗接种示例,并跟踪 ggplotly() 对 geom_flow() 的转换路径。将渲染结果与原始 ggplot 输出进行比较。当 geom_flow() 得到 ggplotly() 的支持,且示例渲染出预期的流时,即视为完成。

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

评估

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

把新 issue 发到你的邮箱

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