用Plotly绘制累积线

时间:2020-05-05 16:01:15

标签: r plotly

我有两个每周系列的数据集。在下面,您可以看到数据代码,还可以看到带有plotly的情节代码。

CREATE OR REPLACE PROCEDURE check_doppelte_Werte_p ( 
   p_tabellenname   IN     USER_TAB_COLUMNS.TABLE_NAME%TYPE, 
   p_spaltenname    IN     USER_TAB_COLUMNS.COLUMN_NAME%TYPE, 
   p_ergebnis       BOOLEAN 
) OUT     
IS 
   v_dummy           NUMBER := 1; 
   v_sql_anweisung   varchar2 (4000); 
BEGIN 
   v_sql_anweisung := 
         'SELECT   MAX(COUNT (' 
      || p_spaltenname 
      || ')) ' 
      || '  FROM   ' 
      || p_tabellenname 
      || '  GROUP BY ' 
      || p_spaltenname; 

   DBMS_OUTPUT.PUT_LINE (v_sql_anweisung); 

   EXECUTE IMMEDIATE v_sql_anweisung INTO   v_dummy; 

   IF v_dummy > 1 THEN  
     DBMS_OUTPUT.PUT_LINE(   'Die Tabelle ' 
                          || 'hat mindestens  ' 
                          || TO_CHAR (V_DUMMY) 
                          || ' doppelte Werte in der Spalte ' 
                          || p_spaltenname); 
     p_ergebnis := TRUE; 
  ELSE  
     p_ergebnis := FALSE; 
  END IF; 
EXCEPTION 
   -- Keine Werte gefunden, da  
   WHEN NO_DATA_FOUND 
   THEN 
      p_ergebnis := FALSE; 
 DBMS_OUTPUT.PUT_LINE ('Tabellenname oder Spaltenname sind nicht vorhan-
den!!!'); 
END;

因此这行代码生成的图形如下图所示。

enter image description here

但是我的目的是要像下面的示例那样累积行。

enter image description here

所以有人可以帮助我如何使用Plotly绘制上述示例吗?

1 个答案:

答案 0 :(得分:1)

您将不得不将数据转换为用户累积总和:

dat <- dat %>% mutate(series1 = cumsum(series1),series2 = cumsum(series2))

fig <- plot_ly(dat, x = ~week, y = ~series2, name = "2019", type = 'scatter', mode = 'lines',
               line = list(dash = "dash")) 
fig <- fig %>% add_trace(y = ~series1, name = "2020", line = list(dash = "solid"))%>% 
  layout(
    xaxis = list(title = 'week'), 
    yaxis = list(title = 'Dollars')
  )

fig

enter image description here