2016-07-14 110 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