gpt4 book ai didi

r - 在 R Shiny 中用绘图重叠点和文本

转载 作者:行者123 更新时间:2023-12-01 22:51:25 24 4
gpt4 key购买 nike

我使用plotly 和Rshiny 来创建带有文本标签的散点图。下面是一个可重现的示例:

library(ggplot2)
library(plotly)
dat <- data.frame(LongExpressionValue = rnorm(1:100),
LongMethylationValue = rnorm(1:100),
LongCopyNumberValue = rnorm(1:100))

rownames(dat) <- paste0('n',seq(1:100))

# ggplot
p <- ggplot(data = dat, aes(x = LongExpressionValue, y = LongMethylationValue)) +
geom_point(size = 2) + geom_smooth(method = lm) +
geom_text(aes(label = rownames(dat)), vjust=-1.5, size = 3)

# ggplotly
ggplotly(p)

这将创建一个如下图:

enter image description here

如何调整 geom_text 选项,使标 checkout 现在上方且不与点重叠?我确实想保留我的 ggplot 代码,以便跨应用程序使用它。

谢谢!

最佳答案

试试这个:

plot_ly(
data = dat,
x = ~LongExpressionValue,
y = ~LongMethylationValue,
text = rownames(dat),
marker = list(size = 10),
mode = "markers+text",
textposition = 'top center'
)

当你可以直接访问源代码时,在 ggplot2 上花费太多精力是不值得的。这是无价的:https://plot.ly/r/reference/

plot_lylayout 中的所有内容都是列表的列表,因此您可以轻松设置参数(注意 marker = list(size = 10))

编辑:稍微复杂一点,展示了悬停信息+文本的强大功能:

plot_ly(
data = dat,
x = ~LongExpressionValue,
y = ~LongMethylationValue,
text = paste0(rownames(dat),
'<br>A:', 1:nrow(dat), #Examples of additional text
'<br>B:', sample(nrow(dat))), #Examples of additional text
hoverinfo = 'text+x+y',
marker = list(size = 10),
mode = "markers+text",
textposition = 'top right')

关于r - 在 R Shiny 中用绘图重叠点和文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37261327/

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