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

<!-- 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/canvasXpress.min.js"></script>


<!-- 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":"windowSolidGradient",
     "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)",
     "varLabelColor":"green",
     "varLabelRotate":"30"
  }
  

  <!-- Call the CanvasXpress function to create the graph -->
  var cX = new CanvasXpress("canvasId", data, config);


</script>
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="windowSolidGradient",
  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)",
  varLabelColor="green",
  varLabelRotate=30
)