gpt4 book ai didi

r - 使用 plotly 中的标记将抖动添加到箱线图

转载 作者:行者123 更新时间:2023-12-04 12:19:38 28 4
gpt4 key购买 nike

我做了一个箱线图:

dat %>%
plot_ly(y = ~xval, color = ~get(col), type = "box",
boxpoints = "all", jitter = 0.7,
pointpos = 0, marker = list(size = 3),
source = shiny_source, key = shiny_key,
hoverinfo = 'text', text = txt)

enter image description here

但问题是抖动点不是交互式的,不能单独标记,所以我想到了使用 add_markers 添加这些点的想法:
dat %>%
plot_ly(y = ~xval, color = ~get(col), type = "box",
boxpoints = FALSE, jitter = 0.7,
pointpos = 0, marker = list(size = 3),
source = shiny_source, key = shiny_key,
hoverinfo = 'col', text = txt
) %>%
add_markers(x = ~get(col), y = ~varval, size = I(6))

enter image description here

但现在点在直线上,我想添加一些抖动(例如通过使用 beeswarm 包)。但我不知道如何在 X 轴上获得定性变量 IC0 的坐标。有任何想法吗?

最佳答案

我发现自己经常遇到与 plotly 和 ggplot2 相同的潜在情况——3 行代码可以获得我想要的 90%,而 30 行代码可以获得恰到好处的美感。

一种潜在的解决方案/解决方法:利用 R 的“因子用整数编码”范式,以数字比例绘制所有内容,然后通过隐藏 x 标签和 x 悬停值来覆盖您的轨迹。

dat <- data.frame(xval = sample(100,1000,replace = TRUE),
group = as.factor(sample(c("a","b","c"),1000,replace = TRUE)))

dat %>%
plot_ly() %>%
add_trace(x = ~as.numeric(group),y = ~xval, color = ~group, type = "box",
hoverinfo = 'name+y') %>%
add_markers(x = ~jitter(as.numeric(group)), y = ~xval, color = ~group,
marker = list(size = 6),
hoverinfo = "text",
text = ~paste0("Group: ",group,
"<br>xval: ",xval),
showlegend = FALSE) %>%
layout(legend = list(orientation = "h",
x =0.5, xanchor = "center",
y = 1, yanchor = "bottom"
),
xaxis = list(title = "Group",
showticklabels = FALSE))

产生以下结果

enter image description here

关于r - 使用 plotly 中的标记将抖动添加到箱线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46844599/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com