2016-12-20 1 views
5

Plotly for Python에서 우리는이 아름다운 다중 y 축 예제를 제공합니다. enter image description here 여기 코드의 경우 link입니다. Plotly가 R 인 복수 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") 
) 

을하지만 나는이 중복 라벨 수 :

enter image description here

가 어떻게 비를 얻기 위해 문제를 해결할 수 있습니다 겹치는 차트?

답변

3

margin 인수의 패딩 (pad) 값을 layout()으로 조정 해보십시오. 내가 다른 매개 변수에 대한 발견

베스트 pad = 49

enter image description here

함께