如何将轴标签正确放置在具有多个轴的Plotly(R)子图中?

问题描述 投票:0回答:1

我正在尝试在R中使用plotly(v。4.9.2.1)创建一个绘图,其中三个面板共享一个x轴,最后一个显示两个变量,第二个显示在单独的y轴上。我在下面用虚假数据制作了一个玩具示例,该示例重现了我遇到的基本问题。问题是,当我添加第二个y轴时,我无法使x轴标题正确显示在所有图的底部。在下面的代码中,我专门为所有跟踪输入xaxis参数,尽管删除该参数并没有任何区别。另外,将x标题放置在其他图的布局中也不会发生任何变化,并且最终图中的边距是为了确保y轴刻度标签可见,并且不会更改轴标签的位置。] >

set.seed(123)
x1 <- seq(from=1, to=100, by=5)
x2 <- seq(from=1, to=100, by=3)
x3 <- seq(from=1, to=100, by=2)
x4 <- c(1,23,50,80)

y1 <- rnorm(length(x1))
y2 <- rnorm(length(x2))
y3 <- rnorm(length(x3))
y4 <- c(0,10,0,10)

p1 <- plot_ly(showlegend=FALSE) %>%
  add_markers(x=x1, y=y1, xaxis='x')

p2 <- plot_ly(showlegend=FALSE) %>%
  add_markers(x=x2, y=y2, xaxis='x')

p3 <- plot_ly(showlegend=FALSE) %>%
  add_markers(x=x3, y=y3, yaxis='y3', xaxis='x') %>%
  add_lines(x=x4, y=y4, line=list(shape='hv'), yaxis='y4', xaxis='x') %>%
  layout(yaxis3=list(overlaying='y4'),
         yaxis4=list(side='right'),
         margin=list(r=50))

subplot(p1, p2, p3, nrows = 3, shareX=TRUE) %>% layout(xaxis=list(title='Time'))

enter image description here

我正在尝试在R中使用plotly(v。4.9.2.1)创建一个绘图,其中三个面板共享一个x轴,最后一个显示两个变量,第二个显示在单独的y轴上。我在下面做了一个玩具示例...

r plotly axis-labels subplot
1个回答
0
投票

默认情况下,x轴锚定到默认的“ yaxis”。在您的情况下,它是最上面的一个。

© www.soinside.com 2019 - 2024. All rights reserved.