我创建了子图Plotly
,每个子图都包含一个条形图(或boxplot
)和三个跟踪线。我在 y= 1,2,3 处创建了跟踪,ablines
就像在ggplot
.
情节是什么样的:
和
.
问题:
我想要它,因此条形图的条形图位于跟踪线的前面,因此您应该只能看到条形图之间的跟踪线。
我的代码目前:
(我已经排除了生成子图的代码,因为我认为不需要它)
generate_plotly_barPlot <- function(dat, showLeg, err) {
p <- plot_ly(x=dat$xVar, # Initialize graph with line y=2
y=2,
type="scatter",
mode="lines",
hoverinfo="none",
layer="below",
line=list(color="grey",
width=2),
showlegend=FALSE) %>%
# Add trace at line y=1
add_trace(x=dat$xVar,
y=1,
type="scatter",
mode="lines",
hoverinfo="none",
line=list(color="grey",
width=1.5,
dash="dot"),
inherit=FALSE,
showlegend=FALSE) %>%
# Add trace at line y=3
add_trace(x=dat$xVar,
y=3,
type="scatter",
mode="lines",
hoverinfo="none",
line=list(color="grey",
width=1.5,
dash="dot"),
inherit=FALSE,
showlegend=FALSE)%>%
# Create Bar Chart
add_trace(x=dat$xVar,
y=dat$CopyNumber,
type="bar",
mode="markers",
color=dat$fillColor,
orientation="v",
inherit=FALSE,
marker=list(opacity=1),
legendgroup=dat$xVar,
showlegend=showLeg,
error_y = list(value=dat[[err]],
color='#000000',
thickness=3,
width=6,
visible=TRUE))
我的做法:
我认为创建跟踪的顺序将定义它们将在图表中的哪一层,所以由于我在所有跟踪线之后绘制了条形图,它会位于它们之上。
我也尝试创建形状,ablines
但很难将它们放在子图的正确位置。add_traces
是我最好的方法。plotly 中的形状有一个layer
参数来定义是将形状放在上方还是下方(请参阅 plotly 参考)。我希望有这样的东西适用于痕迹,但我找不到它。