2017-02-22 34 views
0

我在學習R.在Maximilian Peters' answer的幫助下,我編寫了一個自定義函數來製作一堆散佈圖。我想用這些變量的列名標記x和y軸標題。標題在自定義函數中使用R的xaxis plot_ly

下面是代碼:

library(plotly) 
my_plot <- function(x, y, ...) { 
    plot_ly(y = y, x = x, ...) %>% 
    add_markers() %>% 
    layout(xaxis = list(title = deparse(substitute(x))), 
      yaxis = list(title = deparse(substitute(y)))) 
} 
my_plot(y = mtcars$mpg, x = mtcars$disp) 

這臺x軸標題「X」,但我希望它是「DISP」。

我也嘗試這樣的代碼:

my_plot <- function(data, x, y, ...) { 
    plot_ly(y = data[[y]], x = data[[x]], ...) %>% 
    add_markers() %>% 
    layout(xaxis = list(title = deparse(substitute(data[[x]]))), 
      yaxis = list(title = deparse(substitute(data[[y]])))) 
} 
my_plot(data = mtcars, y = 'mpg', x = 'disp') 

這設定x軸標題爲 「數據[[X]]」。

回答

0

糟糕,我貼得太快。解決方案很簡單。

my_plot <- function(data, x, y, ...) { 
    plot_ly(y = data[[y]], x = data[[x]], ...) %>% 
    add_markers() %>% 
    layout(xaxis = list(title = x), 
      yaxis = list(title = y)) 
} 
my_plot(data = mtcars, y = 'mpg', x = 'disp') 
相關問題