Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
多y轴图表,在R中绘制_R_Plotly - Fatal编程技术网

多y轴图表,在R中绘制

多y轴图表,在R中绘制,r,plotly,R,Plotly,在Plotly for Python中,我们有一个漂亮的多y轴示例: 下面是代码的示例 我尝试使用以下代码对R中的Plotly执行相同的操作: library(plotly) x <- 1:4 y1 <- c(1,2,3,4) y2 <- c(4,3,2,1) y3 <- c(1,4,1,4) y4 <- c(4,1,4,1) test <- data.frame(x, y1, y2, y3, y4) plot_ly(data = test, x =

在Plotly for Python中,我们有一个漂亮的多y轴示例: 下面是代码的示例

我尝试使用以下代码对R中的Plotly执行相同的操作:

  library(plotly)

x <- 1:4
y1 <- c(1,2,3,4)
y2 <- c(4,3,2,1)
y3 <- c(1,4,1,4)
y4 <- c(4,1,4,1)

test <- data.frame(x, y1, y2, y3, y4)

plot_ly(data = test, x = ~x, y = ~y1
        ,type = "scatter", mode = "lines", width = 800, color = I("red")
        ,name = "name01") %>%
  add_trace(x = ~x, y = ~y2, yaxis = "y2", color = I("blue"), name = "name02") %>%
  add_trace(x = ~x, y = ~y3, yaxis = "y3", color = I("purple"), name = "name03") %>%
  add_trace(x = ~x, y = ~y4, yaxis = "y4", color = I("green"), name = "name04") %>%
  layout(
    yaxis = list(
      showline = FALSE, side = "left"
      ,title = "Label 1"
      ,color = "red"
    )
    ,yaxis2 = list(
      showline = FALSE
      ,overlaying = "y"
      ,title = "Label 2", anchor = "free"
      ,color = "blue"
    )
    ,yaxis3 = list(
      showline = FALSE, side = "right", overlaying = "y"
      ,title = "Label 3"
      ,color = "purple"
    )
    ,yaxis4 = list(
      showline = FALSE, side = "right", overlaying = "y", position = 1
      ,title = "Label 4", anchor = "free"
      ,color = "green"
    )
    ,xaxis = list(
      showline = FALSE, zeroline = FALSE, dtick = 1, title = ""
    )
    ,showlegend = FALSE
    ,margin = list(
      pad = 30, b = 90, l = 150, r = 90
    )
    ,legend = list(orientation = "h")
  )
library(plotly)
x尝试调整
layout()
margin
参数的padding(
pad
)值

对于其他参数,我发现最好使用
pad=49

基于此讨论,您还可以使用
xaxis=list(domain=c(0.9))
限制x轴的范围,以便为其他y轴留出更多空间。然后,可以使用
位置
放置y轴。在这种情况下,
位置将介于0.9和1之间。