Exploring Flow Patterns with Alluvial Diagram

Sankey diagrams provide a clear visual representation of flows and are used across various fields, from energy systems to financial analysis. Their strength lies in showing the magnitude of flows between different stages or categories, making complex relationships easy to understand. These diagrams are particularly useful for highlighting bottlenecks or inefficiencies in a process. They are easily created using various software and readily interpretable, making them an excellent communication tool for complex data visualization.


Economist GGPlot Excel Paul Tol Black And White Solarized Stata Tableau Wall Street CanvasXpress
<html>

  <head>
    <!-- Include the CanvasXpress library in your HTML file -->
    <link rel="stylesheet" href="https://www.canvasxpress.org/dist/canvasXpress.css" type="text/css"/>
    <script src="https://www.canvasxpress.org/dist/canvasXpress.min.js"></script>
  </head>

  <body>

    <!-- Create a canvas element for the chart with the desired dimensions -->
    <div>
      <canvas id="canvasId" width="600" height="600"></canvas>
    </div>


    <!-- Create a script to initialize the chart -->
    <script>

      // Use a data frame (2D-array) for the graph
      var data = [
        [ "Id", "Ticket", "Req-Date", "Tool", "Cost", "Division", "Op-Date", "Operator", "Department", "Program", "Requester", "Time"],
        [ "R1", 1, "8/6/23", "DNA-Seq T/N", 4480, "Immuno", "8/19/23", "Kristin", "Research", "TRV-AAC1-4", "Jason", 13],
        [ "R2", 2, "6/2/23", "DNA-Seq T/N", 2790, "Immuno", "6/13/23", "Travis", "Research", "NPTX2", "Ashley", 11],
        [ "R3", 3, "4/13/24", "DNA-Seq T/N", 370, "Immuno", "4/29/24", "Sean", "Research", "NPTX3", "Kimberly", 16],
        [ "R4", 4, "6/24/24", "RNA-Seq", 6630, "Immuno", "7/5/24", "Katie", "Research", "TRC-GCA23-1", "Robert", 11],
        [ "R5", 5, "7/24/23", "CHIP-Seq", 1180, "Immuno", "8/12/23", "Lindsay", "Research", "TRC-GCA23-2", "Jonathan", 19],
        [ "R6", 6, "2/15/23", "RNA-Seq", 1170, "CV", "2/28/23", "Travis", "Research", "SNORD89", "Megan", 13],
        [ "R7", 7, "2/5/24", "Proteomics", 5990, "CV", "2/14/24", "Zachary", "Research", "MTHFR", "Megan", 9],
        [ "R8", 8, "1/27/24", "DNA-Seq T/N", 8190, "CV", "2/4/24", "Lindsey", "Research", "DTWD1", "Patrick", 8],
        [ "R9", 9, "9/19/23", "Proteomics", 1440, "CV", "10/2/23", "Lindsey", "Research", "DTWD2", "Kevin", 13],
        [ "R10", 10, "3/16/24", "DNA-Seq T/N", 7390, "CV", "3/24/24", "Katie", "Research", "DTWD3", "Lauren", 8],
        [ "R11", 11, "2/26/24", "Proteomics", 1860, "Neuro", "3/7/24", "Christine", "Research", "NECAB3", "Jennifer", 10],
        [ "R12", 12, "4/13/24", "RNA-Seq", 7440, "Neuro", "4/28/24", "Zachary", "Research", "SPCS3", "William", 15],
        [ "R13", 13, "4/15/23", "CRISPR", 3700, "Neuro", "5/5/23", "Lindsey", "Research", "SPCS3", "William", 20],
        [ "R14", 14, "1/24/23", "RNA-Seq", 5850, "Neuro", "2/6/23", "Kristin", "Research", "SPCS3", "Brittany", 13],
        [ "R15", 15, "8/19/24", "DNA-Seq T/N", 8660, "Neuro", "9/8/24", "Dustin", "Research", "STK17B", "Nathan", 20],
        [ "R16", 16, "8/14/24", "RNA-Seq", 8950, "Neuro", "8/22/24", "Gregory", "Research", "SNHG23", "Benjamin", 8],
        [ "R17", 17, "4/24/23", "MSI", 9040, "Neuro", "5/2/23", "Travis", "Research", "SNHG23", "Benjamin", 8],
        [ "R18", 18, "7/1/23", "DNA-Seq T/N", 7970, "Neuro", "7/19/23", "Lindsay", "Research", "SNHG23", "Benjamin", 18],
        [ "R19", 19, "1/5/24", "RNA-Seq", 2630, "Neuro", "1/16/24", "Katie", "Research", "RAD18", "Andrea", 11],
        [ "R20", 20, "6/17/23", "DNA-Seq T only", 5620, "Neuro", "6/27/23", "Gregory", "Research", "STK17B", "Laura", 10],
        [ "R21", 21, "2/2/24", "RNA-Seq", 450, "Neuro", "2/14/24", "Travis", "Research", "ZPBP", "Thomas", 12],
        [ "R22", 22, "11/28/23", "RNA-Seq", 9970, "Neuro", "12/17/23", "Christine", "Research", "LINC01415", "Mark", 19],
        [ "R23", 23, "7/10/23", "Cut&Run", 8150, "Neuro", "7/23/23", "Katie", "Research", "LEF1", "Stephen", 13],
        [ "R24", 24, "2/25/23", "scRNA", 8250, "Neuro", "3/7/23", "Sean", "Research", "LEF1", "Stephen", 10],
        [ "R25", 25, "11/17/23", "DNA-Seq T/N", 7150, "Neuro", "12/1/23", "Zachary", "Research", "ZPBP", "Stephen", 14],
        [ "R26", 26, "9/17/23", "DNA-Seq T only", 3290, "Neuro", "10/6/23", "Christine", "Research", "LINC01415", "Melissa", 19],
        [ "R27", 27, "2/17/24", "RNA-Seq", 5860, "Neuro", "3/5/24", "Gregory", "Research", "LEF1", "John", 17],
        [ "R28", 28, "5/1/24", "scRNA", 5650, "Neuro", "5/12/24", "Sean", "Research", "LINC01415", "Richard", 11],
        // ... (data truncated after 29 records for clarity)
      ]

      // Create the configuration for the graph
      var config = {
        "colorBy" : "Department",
        "graphType": "Sankey",
        "sankeyAxes": ["Department","Division","Requester","Program","Operator","Tool"],
        "sankeyNodesColor" : "rgb(255,255,255)",
        "title": "Alluvial Plot",
        "xAxis": ["Ticket"]
      }

      // Event used to create graph (optional)
      var events = false

      // Call the CanvasXpress function to create the graph
      var cX = new CanvasXpress("canvasId", data, config, events);

    </script>

  </body>

</html>
<html>

  <head>
    <!-- Include the CanvasXpress library in your HTML file -->
    <link rel="stylesheet" href="https://www.canvasxpress.org/dist/canvasXpress.css" type="text/css"/>
    <script src="https://www.canvasxpress.org/dist/canvasXpress.min.js"></script>
  </head>

  <body>

    <!-- Create a canvas element for the chart with the desired dimensions -->
    <div>
      <canvas id="canvasId" width="600" height="600"></canvas>
    </div>


    <!-- Create a script to initialize the chart -->
    <script>

      // Create the data for the graph
      var data = {
        "y": {
          "vars": ["Ticket"],
          "smps": ["R1","R2","R3","R4","R5","R6","R7","R8","R9","R10","R11","R12","R13","R14","R15","R16","R17","R18","R19","R20","R21","R22","R23","R24","R25","R26","R27","R28","R29","R30","R31","R32","R33","R34","R35","R36","R37","R38","R39","R40","R41","R42","R43","R44","R45","R46","R47","R48","R49","R50","R51","R52","R53","R54","R55","R56","R57","R58","R59","R60","R61","R62","R63","R64","R65","R66","R67","R68","R69","R70","R71","R72","R73","R74","R75","R76","R77","R78","R79"],
          "data": [
            [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79]
          ]
        },
        "x": {
          "Department": ["Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Research","Development","Development","Development","Development","Development","Development","Development","Development","Development","Development","Development","Development","Development","Development","Development","Development","Development","Development","Development","Development","Manufacturing","Manufacturing","Manufacturing","Manufacturing","Manufacturing","Other","Other","Other","Other","Other","Other","Other","Other","Other","Other","Other","Other","Other","Other","Other"],
          "Division": ["Immuno","Immuno","Immuno","Immuno","Immuno","CV","CV","CV","CV","CV","Neuro","Neuro","Neuro","Neuro","Neuro","Neuro","Neuro","Neuro","Neuro","Neuro","Neuro","Neuro","Neuro","Neuro","Neuro","Neuro","Neuro","Neuro","Neuro","Onc","Onc","Onc","Onc","Onc","Onc","Onc","Onc","Onc","Onc","Clin. Trial A","Clin. Trial A","Clin. Trial A","Clin. Trial B","Clin. Trial B","Clin. Trial C","Clin. Trial C","Clin. Trial C","Clin. Trial C","Clin. Trial C","Assay Dev A","Assay Dev A","Assay Dev A","Assay Dev A","Assay Dev B","Assay Dev B","Assay Dev B","Assay Dev B","Assay Dev B","Assay Dev B","Prod 1","Prod 2","Prod 3","Prod 3","Prod 3","Clin","Clin","Clin","Clin","Clin","Rsrch","Rsrch","Rsrch","Rsrch","Rsrch","Prot","Prot","Prot","Prot","Prot"],
          "Requester": ["Jason","Ashley","Kimberly","Robert","Jonathan","Megan","Megan","Patrick","Kevin","Lauren","Jennifer","William","William","Brittany","Nathan","Benjamin","Benjamin","Benjamin","Andrea","Laura","Thomas","Mark","Stephen","Stephen","Stephen","Melissa","John","Richard","Charles","Steven","April","Sara","Sara","Adam","James","Lisa","Brian","Michael","Jessica","David","David","Elizabeth","Jeremy","Tiffany","Andrew","Samantha","Samantha","Shannon","Shannon","Scott","Scott","Scott","Angela","Matthew","Matthew","Christina","Christina","Nicholas","Nicholas","Ryan","Ryan","Anthony","Joshua","Erin","Gregory-O","Lindsey-O","Zachary-O","Dustin-O","Dustin-O","Christine-O","Lindsey-O","Sean-O","Gregory-O","Travis-O","Kristin-O","Christine-O","Travis-O","Lindsey-O","Kristin-O"],
          "Req-Date": ["8/6/23","6/2/23","4/13/24","6/24/24","7/24/23","2/15/23","2/5/24","1/27/24","9/19/23","3/16/24","2/26/24","4/13/24","4/15/23","1/24/23","8/19/24","8/14/24","4/24/23","7/1/23","1/5/24","6/17/23","2/2/24","11/28/23","7/10/23","2/25/23","11/17/23","9/17/23","2/17/24","5/1/24","8/7/23","5/13/24","5/17/24","10/26/24","2/23/25","2/2/25","2/17/25","1/22/25","3/3/25","2/7/25","10/24/23","7/11/24","3/11/23","11/18/24","12/7/23","4/3/23","7/5/23","10/30/23","4/4/24","8/25/23","8/5/24","2/1/24","2/3/23","6/7/23","11/26/23","12/4/23","12/14/23","9/14/23","9/22/23","4/1/23","5/17/24","7/27/23","12/24/24","3/9/24","3/2/23","7/13/24","9/20/24","4/14/23","1/21/24","6/20/23","3/18/24","12/25/24","2/16/25","1/11/25","1/15/25","2/12/25","1/17/25","2/4/25","2/5/24","8/9/24","8/25/23"],
          "Program": ["TRV-AAC1-4","NPTX2","NPTX3","TRC-GCA23-1","TRC-GCA23-2","SNORD89","MTHFR","DTWD1","DTWD2","DTWD3","NECAB3","SPCS3","SPCS3","SPCS3","STK17B","SNHG23","SNHG23","SNHG23","RAD18","STK17B","ZPBP","LINC01415","LEF1","LEF1","ZPBP","LINC01415","LEF1","LINC01415","ZPBP","NPTX3","NPTX3","NPTX3","NPTX3","RNLS","S100Z","STK38","S100Z","RNLS","RNLS","TMEM108","TMEM108","TMEM108","SIPA1L3","SIPA1L3","ADH7","ADH7","ADH7","TMEM108","SIPA1L3","TMEM108","WDR1","WDR1","OR1L8","ADH7","ADH7","ARHGEF35","ARHGEF35","IFI27L2","IFI27L2","SIPA1L3","SIPA1L3","ANXA4","ADH7","FILIP1","Met - a","Met - b","Met - c","Met - d","Met - d","Met - d","Met - d","Met - e","Met - e","Met - f","Met - f","Met - f","Met - f","Met - f","Met - f"],
          "Operator": ["Kristin","Travis","Sean","Katie","Lindsay","Travis","Zachary","Lindsey","Lindsey","Katie","Christine","Zachary","Lindsey","Kristin","Dustin","Gregory","Travis","Lindsay","Katie","Gregory","Travis","Christine","Katie","Sean","Zachary","Christine","Gregory","Sean","Zachary","Lindsay","Lindsay","Katie","Zachary","Dustin","Dustin","Katie","Travis","Kristin","Lindsay","Dustin","Christine","Zachary","Gregory","Lindsey","Lindsay","Dustin","Dustin","Gregory","Sean","Sean","Gregory","Christine","Travis","Lindsay","Kristin","Lindsay","Katie","Kristin","Lindsey","Katie","Sean","Sean","Gregory","Lindsey","Zachary","Dustin","Dustin","Christine","Lindsey","Sean","Gregory","Travis","Kristin","Christine","Travis","Kristin","Lindsey","Kristin","Zachary"],
          "Tool": ["DNA-Seq T/N","DNA-Seq T/N","DNA-Seq T/N","RNA-Seq","CHIP-Seq","RNA-Seq","Proteomics","DNA-Seq T/N","Proteomics","DNA-Seq T/N","Proteomics","RNA-Seq","CRISPR","RNA-Seq","DNA-Seq T/N","RNA-Seq","MSI","DNA-Seq T/N","RNA-Seq","DNA-Seq T only","RNA-Seq","RNA-Seq","Cut&Run","scRNA","DNA-Seq T/N","DNA-Seq T only","RNA-Seq","scRNA","DNA-Seq T/N","DNA-Seq T/N","Proteomics","scRNA","cfDNA","RNA-Seq","DNA-Seq T/N","DNA-Seq T/N","DNA-Seq T/N","RNA-Seq","CHIP-Seq","RNA-Seq","Proteomics","DNA-Seq T/N","Proteomics","DNA-Seq T/N","Proteomics","RNA-Seq","CRISPR","RNA-Seq","DNA-Seq T/N","RNA-Seq","MSI","DNA-Seq T/N","RNA-Seq","DNA-Seq T only","RNA-Seq","RNA-Seq","Cut&Run","scRNA","DNA-Seq T/N","DNA-Char","DNA-Seq T/N","DNA-Char2","DNA-Char3","DNA-Char4","DNA-Seq T only","RNA-Seq","scRNA","DNA-Seq Somatic","DNA-Seq Somatic","Proteomics","scRNA","cfDNA-2","RNA-Seq","Proteomics","scRNA-2","cfDNA","RNA-Seq","Proteomics-Pepetides","scRNA"],
          "Op-Date": ["8/19/23","6/13/23","4/29/24","7/5/24","8/12/23","2/28/23","2/14/24","2/4/24","10/2/23","3/24/24","3/7/24","4/28/24","5/5/23","2/6/23","9/8/24","8/22/24","5/2/23","7/19/23","1/16/24","6/27/23","2/14/24","12/17/23","7/23/23","3/7/23","12/1/23","10/6/23","3/5/24","5/12/24","8/20/23","5/20/24","6/4/24","11/4/24","3/2/25","2/13/25","3/2/25","1/31/25","3/13/25","2/19/25","11/13/23","7/30/24","3/28/23","11/25/24","12/16/23","4/20/23","7/20/23","11/9/23","4/17/24","9/9/23","8/20/24","2/18/24","2/16/23","6/20/23","12/16/23","12/20/23","12/25/23","9/25/23","9/30/23","4/15/23","5/30/24","8/13/23","1/4/25","3/29/24","3/11/23","7/28/24","10/3/24","4/22/23","1/30/24","6/29/23","4/6/24","1/10/25","2/28/25","1/21/25","2/3/25","2/28/25","2/1/25","2/21/25","2/21/24","8/20/24","9/13/23"],
          "Cost": [4480,2790,370,6630,1180,1170,5990,8190,1440,7390,1860,7440,3700,5850,8660,8950,9040,7970,2630,5620,450,9970,8150,8250,7150,3290,5860,5650,5830,9110,5590,380,8670,6580,6950,3430,9330,5080,8460,7510,8120,8000,9590,2030,430,9950,6910,3820,200,4140,6400,9050,9260,8940,4420,4140,2990,7540,1410,5230,8240,9900,1060,8550,7200,2560,1640,7050,8820,9460,1890,1510,4380,4510,1740,5860,9170,1710,6080],
          "Time": [13,11,16,11,19,13,9,8,13,8,10,15,20,13,20,8,8,18,11,10,12,19,13,10,14,19,17,11,13,7,18,9,7,11,13,9,10,12,20,19,17,7,9,17,15,10,13,15,15,17,13,13,20,16,11,11,8,14,13,17,11,20,9,15,13,8,9,9,19,16,12,10,19,16,15,17,16,11,19]
      
        }
      }

      // Create the configuration for the graph
      var config = {
        "colorBy" : "Department",
        "graphType": "Sankey",
        "sankeyAxes": ["Department","Division","Requester","Program","Operator","Tool"],
        "sankeyNodesColor" : "rgb(255,255,255)",
        "title": "Alluvial Plot",
        "xAxis": ["Ticket"]
      }

      // Event used to create graph (optional)
      var events = false

            // Call the CanvasXpress function to create the graph
      var cX = new CanvasXpress("canvasId", data, config, events);

    </script>

  </body>

</html>
library(canvasXpress)
y=read.table("https://www.canvasxpress.org/data/r/cX-sankey3-dat.txt", header=TRUE, sep="\t", quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE)
x=read.table("https://www.canvasxpress.org/data/r/cX-sankey3-smp.txt", header=TRUE, sep="\t", quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE)
canvasXpress(
data=y,
smpAnnot=x,
colorBy="Department",
graphType="Sankey",
sankeyAxes=list("Department", "Division", "Requester", "Program", "Operator", "Tool"),
sankeyNodesColor="rgb(255,255,255)",
title="Alluvial Plot",
xAxis=list("Ticket")
)
from canvasxpress.canvas import CanvasXpress
from canvasxpress.plot import show_in_browser

if __name__ == "__main__":
  # Define the chart with its data and configuration
  chart: CanvasXpress = CanvasXpress(
    render_to = "sankey6",
    data = {
      "y": {
        "vars": ["Ticket"],
        "smps": ["R1", "R2", "R3", "R4", "R5", "R6", "R7", "R8", "R9", "R10", "R11", "R12", "R13", "R14", "R15", "R16", "R17", "R18", "R19", "R20", "R21", "R22", "R23", "R24", "R25", "R26", "R27", "R28", "R29", "R30", "R31", "R32", "R33", "R34", "R35", "R36", "R37", "R38", "R39", "R40", "R41", "R42", "R43", "R44", "R45", "R46", "R47", "R48", "R49", "R50", "R51", "R52", "R53", "R54", "R55", "R56", "R57", "R58", "R59", "R60", "R61", "R62", "R63", "R64", "R65", "R66", "R67", "R68", "R69", "R70", "R71", "R72", "R73", "R74", "R75", "R76", "R77", "R78", "R79"],
        "data": [
          [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79]
        ]
      },
      "x": {
        "Department": ["Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Manufacturing", "Manufacturing", "Manufacturing", "Manufacturing", "Manufacturing", "Other", "Other", "Other", "Other", "Other", "Other", "Other", "Other", "Other", "Other", "Other", "Other", "Other", "Other", "Other"],
        "Division": ["Immuno", "Immuno", "Immuno", "Immuno", "Immuno", "CV", "CV", "CV", "CV", "CV", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Onc", "Onc", "Onc", "Onc", "Onc", "Onc", "Onc", "Onc", "Onc", "Onc", "Clin. Trial A", "Clin. Trial A", "Clin. Trial A", "Clin. Trial B", "Clin. Trial B", "Clin. Trial C", "Clin. Trial C", "Clin. Trial C", "Clin. Trial C", "Clin. Trial C", "Assay Dev A", "Assay Dev A", "Assay Dev A", "Assay Dev A", "Assay Dev B", "Assay Dev B", "Assay Dev B", "Assay Dev B", "Assay Dev B", "Assay Dev B", "Prod 1", "Prod 2", "Prod 3", "Prod 3", "Prod 3", "Clin", "Clin", "Clin", "Clin", "Clin", "Rsrch", "Rsrch", "Rsrch", "Rsrch", "Rsrch", "Prot", "Prot", "Prot", "Prot", "Prot"],
        "Requester": ["Jason", "Ashley", "Kimberly", "Robert", "Jonathan", "Megan", "Megan", "Patrick", "Kevin", "Lauren", "Jennifer", "William", "William", "Brittany", "Nathan", "Benjamin", "Benjamin", "Benjamin", "Andrea", "Laura", "Thomas", "Mark", "Stephen", "Stephen", "Stephen", "Melissa", "John", "Richard", "Charles", "Steven", "April", "Sara", "Sara", "Adam", "James", "Lisa", "Brian", "Michael", "Jessica", "David", "David", "Elizabeth", "Jeremy", "Tiffany", "Andrew", "Samantha", "Samantha", "Shannon", "Shannon", "Scott", "Scott", "Scott", "Angela", "Matthew", "Matthew", "Christina", "Christina", "Nicholas", "Nicholas", "Ryan", "Ryan", "Anthony", "Joshua", "Erin", "Gregory-O", "Lindsey-O", "Zachary-O", "Dustin-O", "Dustin-O", "Christine-O", "Lindsey-O", "Sean-O", "Gregory-O", "Travis-O", "Kristin-O", "Christine-O", "Travis-O", "Lindsey-O", "Kristin-O"],
        "Req-Date": ["8/6/23", "6/2/23", "4/13/24", "6/24/24", "7/24/23", "2/15/23", "2/5/24", "1/27/24", "9/19/23", "3/16/24", "2/26/24", "4/13/24", "4/15/23", "1/24/23", "8/19/24", "8/14/24", "4/24/23", "7/1/23", "1/5/24", "6/17/23", "2/2/24", "11/28/23", "7/10/23", "2/25/23", "11/17/23", "9/17/23", "2/17/24", "5/1/24", "8/7/23", "5/13/24", "5/17/24", "10/26/24", "2/23/25", "2/2/25", "2/17/25", "1/22/25", "3/3/25", "2/7/25", "10/24/23", "7/11/24", "3/11/23", "11/18/24", "12/7/23", "4/3/23", "7/5/23", "10/30/23", "4/4/24", "8/25/23", "8/5/24", "2/1/24", "2/3/23", "6/7/23", "11/26/23", "12/4/23", "12/14/23", "9/14/23", "9/22/23", "4/1/23", "5/17/24", "7/27/23", "12/24/24", "3/9/24", "3/2/23", "7/13/24", "9/20/24", "4/14/23", "1/21/24", "6/20/23", "3/18/24", "12/25/24", "2/16/25", "1/11/25", "1/15/25", "2/12/25", "1/17/25", "2/4/25", "2/5/24", "8/9/24", "8/25/23"],
        "Program": ["TRV-AAC1-4", "NPTX2", "NPTX3", "TRC-GCA23-1", "TRC-GCA23-2", "SNORD89", "MTHFR", "DTWD1", "DTWD2", "DTWD3", "NECAB3", "SPCS3", "SPCS3", "SPCS3", "STK17B", "SNHG23", "SNHG23", "SNHG23", "RAD18", "STK17B", "ZPBP", "LINC01415", "LEF1", "LEF1", "ZPBP", "LINC01415", "LEF1", "LINC01415", "ZPBP", "NPTX3", "NPTX3", "NPTX3", "NPTX3", "RNLS", "S100Z", "STK38", "S100Z", "RNLS", "RNLS", "TMEM108", "TMEM108", "TMEM108", "SIPA1L3", "SIPA1L3", "ADH7", "ADH7", "ADH7", "TMEM108", "SIPA1L3", "TMEM108", "WDR1", "WDR1", "OR1L8", "ADH7", "ADH7", "ARHGEF35", "ARHGEF35", "IFI27L2", "IFI27L2", "SIPA1L3", "SIPA1L3", "ANXA4", "ADH7", "FILIP1", "Met - a", "Met - b", "Met - c", "Met - d", "Met - d", "Met - d", "Met - d", "Met - e", "Met - e", "Met - f", "Met - f", "Met - f", "Met - f", "Met - f", "Met - f"],
        "Operator": ["Kristin", "Travis", "Sean", "Katie", "Lindsay", "Travis", "Zachary", "Lindsey", "Lindsey", "Katie", "Christine", "Zachary", "Lindsey", "Kristin", "Dustin", "Gregory", "Travis", "Lindsay", "Katie", "Gregory", "Travis", "Christine", "Katie", "Sean", "Zachary", "Christine", "Gregory", "Sean", "Zachary", "Lindsay", "Lindsay", "Katie", "Zachary", "Dustin", "Dustin", "Katie", "Travis", "Kristin", "Lindsay", "Dustin", "Christine", "Zachary", "Gregory", "Lindsey", "Lindsay", "Dustin", "Dustin", "Gregory", "Sean", "Sean", "Gregory", "Christine", "Travis", "Lindsay", "Kristin", "Lindsay", "Katie", "Kristin", "Lindsey", "Katie", "Sean", "Sean", "Gregory", "Lindsey", "Zachary", "Dustin", "Dustin", "Christine", "Lindsey", "Sean", "Gregory", "Travis", "Kristin", "Christine", "Travis", "Kristin", "Lindsey", "Kristin", "Zachary"],
        "Tool": ["DNA-Seq T/N", "DNA-Seq T/N", "DNA-Seq T/N", "RNA-Seq", "CHIP-Seq", "RNA-Seq", "Proteomics", "DNA-Seq T/N", "Proteomics", "DNA-Seq T/N", "Proteomics", "RNA-Seq", "CRISPR", "RNA-Seq", "DNA-Seq T/N", "RNA-Seq", "MSI", "DNA-Seq T/N", "RNA-Seq", "DNA-Seq T only", "RNA-Seq", "RNA-Seq", "Cut&Run", "scRNA", "DNA-Seq T/N", "DNA-Seq T only", "RNA-Seq", "scRNA", "DNA-Seq T/N", "DNA-Seq T/N", "Proteomics", "scRNA", "cfDNA", "RNA-Seq", "DNA-Seq T/N", "DNA-Seq T/N", "DNA-Seq T/N", "RNA-Seq", "CHIP-Seq", "RNA-Seq", "Proteomics", "DNA-Seq T/N", "Proteomics", "DNA-Seq T/N", "Proteomics", "RNA-Seq", "CRISPR", "RNA-Seq", "DNA-Seq T/N", "RNA-Seq", "MSI", "DNA-Seq T/N", "RNA-Seq", "DNA-Seq T only", "RNA-Seq", "RNA-Seq", "Cut&Run", "scRNA", "DNA-Seq T/N", "DNA-Char", "DNA-Seq T/N", "DNA-Char2", "DNA-Char3", "DNA-Char4", "DNA-Seq T only", "RNA-Seq", "scRNA", "DNA-Seq Somatic", "DNA-Seq Somatic", "Proteomics", "scRNA", "cfDNA-2", "RNA-Seq", "Proteomics", "scRNA-2", "cfDNA", "RNA-Seq", "Proteomics-Pepetides", "scRNA"],
        "Op-Date": ["8/19/23", "6/13/23", "4/29/24", "7/5/24", "8/12/23", "2/28/23", "2/14/24", "2/4/24", "10/2/23", "3/24/24", "3/7/24", "4/28/24", "5/5/23", "2/6/23", "9/8/24", "8/22/24", "5/2/23", "7/19/23", "1/16/24", "6/27/23", "2/14/24", "12/17/23", "7/23/23", "3/7/23", "12/1/23", "10/6/23", "3/5/24", "5/12/24", "8/20/23", "5/20/24", "6/4/24", "11/4/24", "3/2/25", "2/13/25", "3/2/25", "1/31/25", "3/13/25", "2/19/25", "11/13/23", "7/30/24", "3/28/23", "11/25/24", "12/16/23", "4/20/23", "7/20/23", "11/9/23", "4/17/24", "9/9/23", "8/20/24", "2/18/24", "2/16/23", "6/20/23", "12/16/23", "12/20/23", "12/25/23", "9/25/23", "9/30/23", "4/15/23", "5/30/24", "8/13/23", "1/4/25", "3/29/24", "3/11/23", "7/28/24", "10/3/24", "4/22/23", "1/30/24", "6/29/23", "4/6/24", "1/10/25", "2/28/25", "1/21/25", "2/3/25", "2/28/25", "2/1/25", "2/21/25", "2/21/24", "8/20/24", "9/13/23"],
        "Cost": [4480, 2790, 370, 6630, 1180, 1170, 5990, 8190, 1440, 7390, 1860, 7440, 3700, 5850, 8660, 8950, 9040, 7970, 2630, 5620, 450, 9970, 8150, 8250, 7150, 3290, 5860, 5650, 5830, 9110, 5590, 380, 8670, 6580, 6950, 3430, 9330, 5080, 8460, 7510, 8120, 8000, 9590, 2030, 430, 9950, 6910, 3820, 200, 4140, 6400, 9050, 9260, 8940, 4420, 4140, 2990, 7540, 1410, 5230, 8240, 9900, 1060, 8550, 7200, 2560, 1640, 7050, 8820, 9460, 1890, 1510, 4380, 4510, 1740, 5860, 9170, 1710, 6080],
        "Time": [13, 11, 16, 11, 19, 13, 9, 8, 13, 8, 10, 15, 20, 13, 20, 8, 8, 18, 11, 10, 12, 19, 13, 10, 14, 19, 17, 11, 13, 7, 18, 9, 7, 11, 13, 9, 10, 12, 20, 19, 17, 7, 9, 17, 15, 10, 13, 15, 15, 17, 13, 13, 20, 16, 11, 11, 8, 14, 13, 17, 11, 20, 9, 15, 13, 8, 9, 9, 19, 16, 12, 10, 19, 16, 15, 17, 16, 11, 19]
      }
    },
    config = {
      "colorBy": "Department",
      "graphType": "Sankey",
      "sankeyAxes": ["Department", "Division", "Requester", "Program", "Operator", "Tool"],
      "sankeyNodesColor": "rgb(255,255,255)",
      "title": "Alluvial Plot",
      "xAxis": ["Ticket"]
    },
    width = 600,
    height = 900
  )

  # Display the chart in its own Web page
  show_in_browser(chart)
Run this notebook: Open in Binder
from canvasxpress.canvas import CanvasXpress
from canvasxpress.plot import graph

graph(
  CanvasXpress(
    render_to = "sankey6",
    data = {
      "y": {
        "vars": ["Ticket"],
        "smps": ["R1", "R2", "R3", "R4", "R5", "R6", "R7", "R8", "R9", "R10", "R11", "R12", "R13", "R14", "R15", "R16", "R17", "R18", "R19", "R20", "R21", "R22", "R23", "R24", "R25", "R26", "R27", "R28", "R29", "R30", "R31", "R32", "R33", "R34", "R35", "R36", "R37", "R38", "R39", "R40", "R41", "R42", "R43", "R44", "R45", "R46", "R47", "R48", "R49", "R50", "R51", "R52", "R53", "R54", "R55", "R56", "R57", "R58", "R59", "R60", "R61", "R62", "R63", "R64", "R65", "R66", "R67", "R68", "R69", "R70", "R71", "R72", "R73", "R74", "R75", "R76", "R77", "R78", "R79"],
        "data": [
          [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79]
        ]
      },
      "x": {
        "Department": ["Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Research", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Development", "Manufacturing", "Manufacturing", "Manufacturing", "Manufacturing", "Manufacturing", "Other", "Other", "Other", "Other", "Other", "Other", "Other", "Other", "Other", "Other", "Other", "Other", "Other", "Other", "Other"],
        "Division": ["Immuno", "Immuno", "Immuno", "Immuno", "Immuno", "CV", "CV", "CV", "CV", "CV", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Neuro", "Onc", "Onc", "Onc", "Onc", "Onc", "Onc", "Onc", "Onc", "Onc", "Onc", "Clin. Trial A", "Clin. Trial A", "Clin. Trial A", "Clin. Trial B", "Clin. Trial B", "Clin. Trial C", "Clin. Trial C", "Clin. Trial C", "Clin. Trial C", "Clin. Trial C", "Assay Dev A", "Assay Dev A", "Assay Dev A", "Assay Dev A", "Assay Dev B", "Assay Dev B", "Assay Dev B", "Assay Dev B", "Assay Dev B", "Assay Dev B", "Prod 1", "Prod 2", "Prod 3", "Prod 3", "Prod 3", "Clin", "Clin", "Clin", "Clin", "Clin", "Rsrch", "Rsrch", "Rsrch", "Rsrch", "Rsrch", "Prot", "Prot", "Prot", "Prot", "Prot"],
        "Requester": ["Jason", "Ashley", "Kimberly", "Robert", "Jonathan", "Megan", "Megan", "Patrick", "Kevin", "Lauren", "Jennifer", "William", "William", "Brittany", "Nathan", "Benjamin", "Benjamin", "Benjamin", "Andrea", "Laura", "Thomas", "Mark", "Stephen", "Stephen", "Stephen", "Melissa", "John", "Richard", "Charles", "Steven", "April", "Sara", "Sara", "Adam", "James", "Lisa", "Brian", "Michael", "Jessica", "David", "David", "Elizabeth", "Jeremy", "Tiffany", "Andrew", "Samantha", "Samantha", "Shannon", "Shannon", "Scott", "Scott", "Scott", "Angela", "Matthew", "Matthew", "Christina", "Christina", "Nicholas", "Nicholas", "Ryan", "Ryan", "Anthony", "Joshua", "Erin", "Gregory-O", "Lindsey-O", "Zachary-O", "Dustin-O", "Dustin-O", "Christine-O", "Lindsey-O", "Sean-O", "Gregory-O", "Travis-O", "Kristin-O", "Christine-O", "Travis-O", "Lindsey-O", "Kristin-O"],
        "Req-Date": ["8/6/23", "6/2/23", "4/13/24", "6/24/24", "7/24/23", "2/15/23", "2/5/24", "1/27/24", "9/19/23", "3/16/24", "2/26/24", "4/13/24", "4/15/23", "1/24/23", "8/19/24", "8/14/24", "4/24/23", "7/1/23", "1/5/24", "6/17/23", "2/2/24", "11/28/23", "7/10/23", "2/25/23", "11/17/23", "9/17/23", "2/17/24", "5/1/24", "8/7/23", "5/13/24", "5/17/24", "10/26/24", "2/23/25", "2/2/25", "2/17/25", "1/22/25", "3/3/25", "2/7/25", "10/24/23", "7/11/24", "3/11/23", "11/18/24", "12/7/23", "4/3/23", "7/5/23", "10/30/23", "4/4/24", "8/25/23", "8/5/24", "2/1/24", "2/3/23", "6/7/23", "11/26/23", "12/4/23", "12/14/23", "9/14/23", "9/22/23", "4/1/23", "5/17/24", "7/27/23", "12/24/24", "3/9/24", "3/2/23", "7/13/24", "9/20/24", "4/14/23", "1/21/24", "6/20/23", "3/18/24", "12/25/24", "2/16/25", "1/11/25", "1/15/25", "2/12/25", "1/17/25", "2/4/25", "2/5/24", "8/9/24", "8/25/23"],
        "Program": ["TRV-AAC1-4", "NPTX2", "NPTX3", "TRC-GCA23-1", "TRC-GCA23-2", "SNORD89", "MTHFR", "DTWD1", "DTWD2", "DTWD3", "NECAB3", "SPCS3", "SPCS3", "SPCS3", "STK17B", "SNHG23", "SNHG23", "SNHG23", "RAD18", "STK17B", "ZPBP", "LINC01415", "LEF1", "LEF1", "ZPBP", "LINC01415", "LEF1", "LINC01415", "ZPBP", "NPTX3", "NPTX3", "NPTX3", "NPTX3", "RNLS", "S100Z", "STK38", "S100Z", "RNLS", "RNLS", "TMEM108", "TMEM108", "TMEM108", "SIPA1L3", "SIPA1L3", "ADH7", "ADH7", "ADH7", "TMEM108", "SIPA1L3", "TMEM108", "WDR1", "WDR1", "OR1L8", "ADH7", "ADH7", "ARHGEF35", "ARHGEF35", "IFI27L2", "IFI27L2", "SIPA1L3", "SIPA1L3", "ANXA4", "ADH7", "FILIP1", "Met - a", "Met - b", "Met - c", "Met - d", "Met - d", "Met - d", "Met - d", "Met - e", "Met - e", "Met - f", "Met - f", "Met - f", "Met - f", "Met - f", "Met - f"],
        "Operator": ["Kristin", "Travis", "Sean", "Katie", "Lindsay", "Travis", "Zachary", "Lindsey", "Lindsey", "Katie", "Christine", "Zachary", "Lindsey", "Kristin", "Dustin", "Gregory", "Travis", "Lindsay", "Katie", "Gregory", "Travis", "Christine", "Katie", "Sean", "Zachary", "Christine", "Gregory", "Sean", "Zachary", "Lindsay", "Lindsay", "Katie", "Zachary", "Dustin", "Dustin", "Katie", "Travis", "Kristin", "Lindsay", "Dustin", "Christine", "Zachary", "Gregory", "Lindsey", "Lindsay", "Dustin", "Dustin", "Gregory", "Sean", "Sean", "Gregory", "Christine", "Travis", "Lindsay", "Kristin", "Lindsay", "Katie", "Kristin", "Lindsey", "Katie", "Sean", "Sean", "Gregory", "Lindsey", "Zachary", "Dustin", "Dustin", "Christine", "Lindsey", "Sean", "Gregory", "Travis", "Kristin", "Christine", "Travis", "Kristin", "Lindsey", "Kristin", "Zachary"],
        "Tool": ["DNA-Seq T/N", "DNA-Seq T/N", "DNA-Seq T/N", "RNA-Seq", "CHIP-Seq", "RNA-Seq", "Proteomics", "DNA-Seq T/N", "Proteomics", "DNA-Seq T/N", "Proteomics", "RNA-Seq", "CRISPR", "RNA-Seq", "DNA-Seq T/N", "RNA-Seq", "MSI", "DNA-Seq T/N", "RNA-Seq", "DNA-Seq T only", "RNA-Seq", "RNA-Seq", "Cut&Run", "scRNA", "DNA-Seq T/N", "DNA-Seq T only", "RNA-Seq", "scRNA", "DNA-Seq T/N", "DNA-Seq T/N", "Proteomics", "scRNA", "cfDNA", "RNA-Seq", "DNA-Seq T/N", "DNA-Seq T/N", "DNA-Seq T/N", "RNA-Seq", "CHIP-Seq", "RNA-Seq", "Proteomics", "DNA-Seq T/N", "Proteomics", "DNA-Seq T/N", "Proteomics", "RNA-Seq", "CRISPR", "RNA-Seq", "DNA-Seq T/N", "RNA-Seq", "MSI", "DNA-Seq T/N", "RNA-Seq", "DNA-Seq T only", "RNA-Seq", "RNA-Seq", "Cut&Run", "scRNA", "DNA-Seq T/N", "DNA-Char", "DNA-Seq T/N", "DNA-Char2", "DNA-Char3", "DNA-Char4", "DNA-Seq T only", "RNA-Seq", "scRNA", "DNA-Seq Somatic", "DNA-Seq Somatic", "Proteomics", "scRNA", "cfDNA-2", "RNA-Seq", "Proteomics", "scRNA-2", "cfDNA", "RNA-Seq", "Proteomics-Pepetides", "scRNA"],
        "Op-Date": ["8/19/23", "6/13/23", "4/29/24", "7/5/24", "8/12/23", "2/28/23", "2/14/24", "2/4/24", "10/2/23", "3/24/24", "3/7/24", "4/28/24", "5/5/23", "2/6/23", "9/8/24", "8/22/24", "5/2/23", "7/19/23", "1/16/24", "6/27/23", "2/14/24", "12/17/23", "7/23/23", "3/7/23", "12/1/23", "10/6/23", "3/5/24", "5/12/24", "8/20/23", "5/20/24", "6/4/24", "11/4/24", "3/2/25", "2/13/25", "3/2/25", "1/31/25", "3/13/25", "2/19/25", "11/13/23", "7/30/24", "3/28/23", "11/25/24", "12/16/23", "4/20/23", "7/20/23", "11/9/23", "4/17/24", "9/9/23", "8/20/24", "2/18/24", "2/16/23", "6/20/23", "12/16/23", "12/20/23", "12/25/23", "9/25/23", "9/30/23", "4/15/23", "5/30/24", "8/13/23", "1/4/25", "3/29/24", "3/11/23", "7/28/24", "10/3/24", "4/22/23", "1/30/24", "6/29/23", "4/6/24", "1/10/25", "2/28/25", "1/21/25", "2/3/25", "2/28/25", "2/1/25", "2/21/25", "2/21/24", "8/20/24", "9/13/23"],
        "Cost": [4480, 2790, 370, 6630, 1180, 1170, 5990, 8190, 1440, 7390, 1860, 7440, 3700, 5850, 8660, 8950, 9040, 7970, 2630, 5620, 450, 9970, 8150, 8250, 7150, 3290, 5860, 5650, 5830, 9110, 5590, 380, 8670, 6580, 6950, 3430, 9330, 5080, 8460, 7510, 8120, 8000, 9590, 2030, 430, 9950, 6910, 3820, 200, 4140, 6400, 9050, 9260, 8940, 4420, 4140, 2990, 7540, 1410, 5230, 8240, 9900, 1060, 8550, 7200, 2560, 1640, 7050, 8820, 9460, 1890, 1510, 4380, 4510, 1740, 5860, 9170, 1710, 6080],
        "Time": [13, 11, 16, 11, 19, 13, 9, 8, 13, 8, 10, 15, 20, 13, 20, 8, 8, 18, 11, 10, 12, 19, 13, 10, 14, 19, 17, 11, 13, 7, 18, 9, 7, 11, 13, 9, 10, 12, 20, 19, 17, 7, 9, 17, 15, 10, 13, 15, 15, 17, 13, 13, 20, 16, 11, 11, 8, 14, 13, 17, 11, 20, 9, 15, 13, 8, 9, 9, 19, 16, 12, 10, 19, 16, 15, 17, 16, 11, 19]
      }
    },
    config = {
      "colorBy": "Department",
      "graphType": "Sankey",
      "sankeyAxes": ["Department", "Division", "Requester", "Program", "Operator", "Tool"],
      "sankeyNodesColor": "rgb(255,255,255)",
      "title": "Alluvial Plot",
      "xAxis": ["Ticket"]
    },
    width = 600,
    height = 900
  )
)