2016-07-14 107 views
0

我正在嘗試用積分準備線條圖和兩個y軸的疊加條形圖,但是線條部分不顯示。兩個y軸都很好,堆疊的條形圖也可以工作。折線圖本身也適用,但不能與堆積條形圖一起使用。當我嘗試使用只有一個y軸的圖表具有所有組件時,但由於規模不同,它不能很好地將數據可視化。這裏是帶有示例數據的代碼:用線條圖堆積的條形圖不能在R中用積分工作

library(plotly) 

#data 
big <- c(300000,400000,500000,600000,500000,600000) 
v1 <- c(3,4,5,5,4,3) 
v2 <-c(3,4,5,5,4,3) 
Date <- c("Jan 2016","Feb 2016","Mar 2016","Apr 2016","May 2016","June 2016") 
df <- data.frame(big, v1, v2, Date) 

#plot 
p1 <- plot_ly(
    x = df$Date, 
    y = df$big, 
    type="scatter" 
) 

p2 <- add_trace(
    p1, 
    x = df$Date, 
    y = df$v2, 
    type = "bar", 
    yaxis="y2") 

p25 <- add_trace(
    p2, 
    x = df$Date, 
    y = df$v1, 
    type = "bar", 
    yaxis="y2" 
) 

p3 <- layout(p25, 
      xaxis = list(
       title = "Month" 
      ), 
      yaxis = list(
       title = "big" 
      ), 
      yaxis2=list(
       title = "little", 
       tickfont = list(color = "red"), 
       overlying="y", 
       side="right" 
      ), 
      barmode="stack" 
) 

p3 

任何想法如何糾正它?

回答

0

這爲我工作:

# data 
big <- c(300000,400000,500000,600000,500000,600000) 
v1 <- c(3,4,5,5,4,3) 
v2 <-c(3,4,5,5,4,3) 
Date <- c("Jan 2016","Feb 2016","Mar 2016","Apr 2016","May 2016","June 2016") 
df <- data.frame(big, v1, v2, Date) 

library(plotly) 

df %>% 
    plot_ly(x = ~Date) %>% 
    add_bars(y = ~v1, 
      name = "bar1") %>% 
    add_bars(y = ~v2, 
      name = "bar2") %>% 
    add_lines(y = ~big, 
      name = "line", 
      yaxis = "y2") %>% 
    layout(barmode = "stack", 
     yaxis2 = list(overlaying = "y", 
         side = "right"), 
     barmode = "stack") 

enter image description here

+0

謝謝!它效果很好。 – Pati