Fish Chart

Fish plots are designed to visualize tumor evolution. This visualizationwas inspired by the fishplot package for R by Christopher A. Miller, Joshua McMichael, Ha X. Dang, Christopher A. Maher, Li Ding, Timothy J. Ley, Elaine R. Mardis & Richard K. Wilson


Example Color Themes

Example Fonts



Show Code

Tools

<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" : {
          "data" : [
            [100,2,2,100],
            [38,0,0,0],
            [24,1,1,98],
            [0,0,1,30]
          ],
          "smps" : [0,30,200,423],
          "vars" : ["C1","C2","C3","C4"]
       }
    }
    
    
    // Create the configuration for the graph
    var config = {
       "backgroundType":"panelSolidGradient",
       "colorSpectrum":[
          "bisque",
          "darkgoldenrod1",
          "darkorange3"
       ],
       "colors":[
          "rgb(136,136,136)",
          "rgb(239,0,0)",
          "rgb(255,96,0)",
          "rgb(255,207,0)",
          "rgb(191,255,64)",
          "rgb(80,255,175)",
          "rgb(0,223,255)",
          "rgb(0,112,255)",
          "rgb(0,0,255)",
          "rgb(0,0,143)"
       ],
       "fishAxis":[
          "0",
          "423"
       ],
       "fishCloneLabels":[
          "DNMT3A,FLT3",
          "NPM1",
          "MET",
          "ETV6,WNK1-WAC,\\nMYO18B"
       ],
       "fishParents":[
          "0",
          "1",
          "1",
          "3"
       ],
       "fishShape":"spline",
       "fishTimepoints":[
          "0",
          "30",
          "200",
          "423"
       ],
       "gradientOrientation":"horizontal",
       "graphType":"Fish",
       "legendKeyBackgroundBorderColor":"rgba(255,255,255,0)",
       "legendKeyBackgroundColor":"rgba(255,255,255,0)",
       "varTextColor":"green",
       "varTextRotate":"30"
    }
    

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


  </script>

</body>
library(canvasXpress)
y=read.table("https://www.canvasxpress.org/data/cX-fish2-dat.txt", header=TRUE, sep="\t", quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE)
canvasXpress(
  data=y,
  backgroundType="panelSolidGradient",
  colorSpectrum=list("bisque", "darkgoldenrod1", "darkorange3"),
  colors=list("rgb(136,136,136)", "rgb(239,0,0)", "rgb(255,96,0)", "rgb(255,207,0)", "rgb(191,255,64)", "rgb(80,255,175)", "rgb(0,223,255)", "rgb(0,112,255)", "rgb(0,0,255)", "rgb(0,0,143)"),
  fishAxis=list(0, 423),
  fishCloneLabels=list("DNMT3A,FLT3", "NPM1", "MET", "ETV6,WNK1-WAC,\nMYO18B"),
  fishParents=list(0, 1, 1, 3),
  fishShape="spline",
  fishTimepoints=list(0, 30, 200, 423),
  gradientOrientation="horizontal",
  graphType="Fish",
  legendKeyBackgroundBorderColor="rgba(255,255,255,0)",
  legendKeyBackgroundColor="rgba(255,255,255,0)",
  varTextColor="green",
  varTextRotate=30
)