相关疑难解决方法(0)

散点图中的颜色编码误差线

我正在尝试创建一个森林图R plotly在其中我要通过相应的p值对效果大小(点)及其误差线进行颜色编码。

以下是玩具数据:

set.seed(1)

factors <- paste0(1:25,":age")
effect.sizes <- rnorm(25,0,1)
effect.errors <- abs(rnorm(25,0,1))
p.values <- runif(25,0,1)
Run Code Online (Sandbox Code Playgroud)

这是我正在尝试的:

library(dplyr)
plotly::plot_ly(type='scatter',mode="markers",y=~factors,x=~effect.sizes,color=~p.values,colors=grDevices::colorRamp(c("darkred","gray"))) %>%
      plotly::add_trace(error_x=list(array=effect.errors),marker=list(color=~p.values,colors=grDevices::colorRamp(c("darkred","gray")))) %>%
      plotly::colorbar(limits=c(0,1),len=0.4,title="P-Value") %>%
      plotly::layout(xaxis=list(title="Effect Size",zeroline=T,showticklabels=T),yaxis=list(title="Factor",zeroline=F,showticklabels=T))
Run Code Online (Sandbox Code Playgroud)

这给了我:

在此处输入图片说明

除了以下几点,这与我想要的非常接近:

  1. 我希望误差条的颜色类似于效果大小(通过相应的p值)。
  2. 删除trace下面的两个图例colorbar
  3. y轴上的标签顺序为 factors

任何的想法?

r plotly r-forestplot

5
推荐指数
1
解决办法
294
查看次数

标签 统计

plotly ×1

r ×1

r-forestplot ×1