Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.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
R 如何将子地块应用于具有次y轴的绘图列表_R_Plotly_R Plotly - Fatal编程技术网

R 如何将子地块应用于具有次y轴的绘图列表

R 如何将子地块应用于具有次y轴的绘图列表,r,plotly,r-plotly,R,Plotly,R Plotly,我想准备一个子图,其中每个面是一个单独的双y轴图,其中一个变量与其他变量相对。因此,我绘制了一个基本图p,并在循环中添加次要y轴变量: library(rlang) library(plotly) library(tibble) dual_axis_lines <- function(data, x, y_left, ..., facets = FALSE, axes = NULL){ x <- rlang::enquo(x) y_left <- rlang::enq

我想准备一个子图,其中每个面是一个单独的双y轴图,其中一个变量与其他变量相对。因此,我绘制了一个基本图
p
,并在循环中添加次要y轴变量:

library(rlang)
library(plotly)
library(tibble)

dual_axis_lines <- function(data, x, y_left, ..., facets = FALSE, axes = NULL){
  x <- rlang::enquo(x)
  y_left <- rlang::enquo(y_left)
  y_right <- rlang::enquos(...)
  
  y_left_axparms <- list(
    title = FALSE,
    tickfont = list(color = "#1f77b4"),
    side = "left")
  y_right_axparms <- list(
    title = FALSE,
    overlaying = "y",
    side = "right",
    zeroline = FALSE)
  
  p <- plotly::plot_ly(data , x = x) %>%
    plotly::add_trace(y = y_left, name = quo_name(y_left),
                      yaxis = "y1", type = 'scatter', mode = 'lines', 
                      line = list(color = "#1f77b4"))
  
  p_facets <- list()
  for(v in y_right){
    p_facets[[quo_name(v)]] <- p %>%
      plotly::add_trace(y = v, name = quo_name(v),
                        yaxis = "y2", type = 'scatter', mode = 'lines') %>%
      plotly::layout(yaxis = y_left_axparms,
                     yaxis2 = y_right_axparms)
  }
  p <- subplot(p_facets, nrows = length(y_right), shareX = TRUE)
  return(p)
}

mtcars %>% 
  rowid_to_column() %>% 
  dual_axis_lines(rowid, mpg, cyl, disp, hp, facets = TRUE)
库(rlang)
图书馆(绘本)
图书馆(tibble)

双轴线好的,我遵循

库(rlang)
图书馆(绘本)
图书馆(tibble)

双轴线我认为这是一个错误。再见,非常感谢!作为一个附带问题-您知道如何将右y轴字体颜色设置为线条的颜色(即在这种特殊情况下为橙色、红色和棕色)?