Enhance Data Visualization with Density Graphs

Density graphs offer a compelling visual representation of data distribution. They effectively show the concentration of data points across a continuous range, highlighting areas of high and low frequency. Unlike histograms which use bars, density graphs use a smooth curve, making them ideal for showcasing trends and patterns in continuous data. Applications span diverse fields, from statistical analysis and data visualization to machine learning and data science. Researchers use them to understand data distribution, identify outliers, and estimate probability densities. The smooth curve facilitates easier interpretation of complex datasets, aiding in decision-making processes.


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", "Var1", "Var2", "Var3", "Var4", "Var5", "Var6", "Var7", "Var8", "Var9", "Var10", "Var11", "Var12", "Var13", "Var14", "Var15", "Var16", "Var17", "Var18", "Var19", "Var20", "Var21", "Var22", "Var23", "Var24", "Var25", "Var26", "Var27", "Var28", "Var29", "Var30", "Var31", "Var32", "Var33", "Var34", "Var35", "Var36", "Var37", "Var38", "Var39", "Var40", "Var41", "Var42", "Var43", "Var44", "Var45", "Var46", "Var47", "Var48", "Var49", "Var50", "Var51", "Var52", "Var53", "Var54", "Var55", "Var56", "Var57", "Var58", "Var59", "Var60", "Var61", "Var62", "Var63", "Var64", "Var65", "Var66", "Var67", "Var68", "Var69", "Var70", "Var71", "Var72", "Var73", "Var74", "Var75", "Var76", "Var77", "Var78", "Var79", "Var80", "Var81", "Var82", "Var83", "Var84", "Var85", "Var86", "Var87", "Var88", "Var89", "Var90", "Var91", "Var92", "Var93", "Var94", "Var95", "Var96", "Var97", "Var98", "Var99", "Var100", "Var101", "Var102", "Var103", "Var104", "Var105", "Var106", "Var107", "Var108", "Var109", "Var110", "Var111", "Var112", "Var113", "Var114", "Var115", "Var116", "Var117", "Var118", "Var119", "Var120", "Var121", "Var122", "Var123", "Var124", "Var125", "Var126", "Var127", "Var128", "Var129", "Var130", "Var131", "Var132", "Var133", "Var134", "Var135", "Var136", "Var137", "Var138", "Var139", "Var140", "Var141", "Var142", "Var143", "Var144", "Var145", "Var146", "Var147", "Var148", "Var149", "Var150", "Var151", "Var152", "Var153", "Var154", "Var155", "Var156", "Var157", "Var158", "Var159", "Var160", "Var161", "Var162", "Var163", "Var164", "Var165", "Var166", "Var167", "Var168", "Var169", "Var170", "Var171", "Var172", "Var173", "Var174", "Var175", "Var176", "Var177", "Var178", "Var179", "Var180", "Var181", "Var182", "Var183", "Var184", "Var185", "Var186", "Var187", "Var188", "Var189", "Var190", "Var191", "Var192", "Var193", "Var194", "Var195", "Var196", "Var197", "Var198", "Var199", "Var200", "sexf", "sexm"],
        [ "Weight-Fem", 49, 56, 60, 43, 57, 58, 52, 52, 52, 51, 53, 50, 51, 55, 60, 54, 52, 50, 51, 67, 56, 53, 53, 57, 52, 48, 58, 50, 55, 50, 61, 53, 51, 52, 47, 49, 44, 48, 54, 53, 62, 50, 51, 54, 50, 50, 49, 49, 52, 53, 46, 52, 49, 50, 54, 58, 63, 51, 63, 49, 58, 68, 55, 52, 55, 64, 49, 62, 62, 57, 55, 53, 53, 58, 65, 54, 48, 51, 56, 53, 54, 54, 48, 54, 59, 58, 58, 53, 54, 49, 55, 56, 64, 60, 53, 57, 49, 59, 60, 66, 57, 53, 55, 52, 51, 56, 51, 56, 57, 55, 54, 52, 49, 59, 55, 59, 49, 56, 58, 55, 54, 51, 65, 59, 64, 55, 52, 47, 52, 56, 60, 56, 49, 58, 47, 53, 53, 45, 60, 52, 53, 62, 58, 54, 58, 57, 63, 56, 58, 57, 53, 55, 63, 51, 56, 62, 54, 50, 51, 53, 51, 54, 53, 54, 57, 58, 63, 55, 53, 62, 64, 55, 53, 46, 62, 51, 49, 70, 56, 55, 41, 55, 60, 57, 60, 65, 61, 52, 59, 54, 52, 41, 51, 57, 66, 58, 58, 50, 56, 45, "F", "M"],
        [ "Weight-Mas", 67, 68, 66, 69, 67, 69, 74, 71, 65, 59, 67, 63, 72, 57, 63, 67, 64, 62, 63, 68, 69, 68, 76, 71, 66, 62, 80, 68, 62, 66, 63, 64, 60, 66, 67, 60, 49, 64, 65, 68, 65, 67, 60, 69, 69, 66, 72, 67, 66, 66, 67, 70, 67, 68, 59, 63, 72, 59, 66, 67, 70, 63, 66, 56, 67, 62, 64, 59, 67, 68, 63, 74, 68, 70, 75, 62, 69, 70, 65, 67, 60, 67, 61, 69, 61, 67, 61, 64, 57, 66, 70, 66, 56, 62, 73, 74, 59, 63, 67, 67, 62, 60, 64, 70, 65, 62, 62, 73, 63, 69, 72, 67, 63, 65, 63, 71, 64, 73, 62, 62, 66, 65, 62, 57, 65, 61, 70, 60, 71, 62, 66, 69, 62, 68, 65, 59, 64, 73, 64, 61, 65, 67, 70, 71, 66, 71, 61, 53, 63, 62, 53, 68, 61, 64, 57, 68, 74, 61, 64, 75, 70, 75, 65, 64, 62, 72, 59, 67, 65, 76, 62, 57, 66, 65, 61, 66, 64, 62, 68, 63, 56, 52, 62, 72, 69, 71, 70, 67, 57, 66, 73, 48, 61, 71, 68, 69, 67, 68, 65, 60, "F", "M" ]
      ];

      // Create the configuration for the graph
      var config = {
        "graphType": "Scatter2D",
        "hideHistogram": false,
        "histogramBins": 20,
        "histogramStat": "count",
        "showFilledHistogramDensity": true,
        "showHistogramBars": true,
        "showHistogramDensity": true,
        "showHistogramMedian": true,
        "xAxis": ["Weight-Fem"],
        "xAxisHistogramHeight": 150,
        "xAxisHistogramShow": true,
        "yAxis": ["Weight-Mas"],
        "yAxisHistogramHeight": 150,
        "yAxisHistogramShow": true
      }

      // 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 = {
         "x" : {
            "sexf" : ["F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F"],
            "sexm" : ["M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M"]
         },
         "y" : {
            "data" : [
              [49,67],[56,68],[60,66],[43,69],[57,67],[58,69],[52,74],[52,71],[52,65],[51,59],[53,67],[50,63],[51,72],[55,57],[60,63],[54,67],[52,64],[50,62],[51,63],[67,68],[56,69],[53,68],[53,76],[57,71],[52,66],[48,62],[58,80],[50,68],[55,62],[50,66],[61,63],[53,64],[51,60],[52,66],[47,67],[49,60],[44,49],[48,64],[54,65],[53,68],[62,65],[50,67],[51,60],[54,69],[50,69],[50,66],[49,72],[49,67],[52,66],[53,66],[46,67],[52,70],[49,67],[50,68],[54,59],[58,63],[63,72],[51,59],[63,66],[49,67],[58,70],[68,63],[55,66],[52,56],[55,67],[64,62],[49,64],[62,59],[62,67],[57,68],[55,63],[53,74],[53,68],[58,70],[65,75],[54,62],[48,69],[51,70],[56,65],[53,67],[54,60],[54,67],[48,61],[54,69],[59,61],[58,67],[58,61],[53,64],[54,57],[49,66],[55,70],[56,66],[64,56],[60,62],[53,73],[57,74],[49,59],[59,63],[60,67],[66,67],[57,62],[53,60],[55,64],[52,70],[51,65],[56,62],[51,62],[56,73],[57,63],[55,69],[54,72],[52,67],[49,63],[59,65],[55,63],[59,71],[49,64],[56,73],[58,62],[55,62],[54,66],[51,65],[65,62],[59,57],[64,65],[55,61],[52,70],[47,60],[52,71],[56,62],[60,66],[56,69],[49,62],[58,68],[47,65],[53,59],[53,64],[45,73],[60,64],[52,61],[53,65],[62,67],[58,70],[54,71],[58,66],[57,71],[63,61],[56,53],[58,63],[57,62],[53,53],[55,68],[63,61],[51,64],[56,57],[62,68],[54,74],[50,61],[51,64],[53,75],[51,70],[54,75],[53,65],[54,64],[57,62],[58,72],[63,59],[55,67],[53,65],[62,76],[64,62],[55,57],[53,66],[46,65],[62,61],[51,66],[49,64],[70,62],[56,68],[55,63],[41,56],[55,52],[60,62],[57,72],[60,69],[65,71],[61,70],[52,67],[59,57],[54,66],[52,73],[41,48],[51,61],[57,71],[66,68],[58,69],[58,67],[50,68],[56,65],[45,60]
            ],
            "smps" : ["Weight-Fem","Weight-Mas"]
         }
      }

      // Create the configuration for the graph
      var config = {
        "graphType": "Scatter2D",
        "hideHistogram": false,
        "histogramBins": 20,
        "histogramStat": "count",
        "showFilledHistogramDensity": true,
        "showHistogramBars": true,
        "showHistogramDensity": true,
        "showHistogramMedian": true,
        "xAxis": ["Weight-Fem"],
        "xAxisHistogramHeight": 150,
        "xAxisHistogramShow": true,
        "yAxis": ["Weight-Mas"],
        "yAxisHistogramHeight": 150,
        "yAxisHistogramShow": true
      }

      // 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-density2-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-density2-smp.txt", header=TRUE, sep="\t", quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE)
canvasXpress(
data=y,
smpAnnot=x,
graphType="Scatter2D",
hideHistogram=FALSE,
histogramBins=20,
histogramStat="count",
showFilledHistogramDensity=TRUE,
showHistogramBars=TRUE,
showHistogramDensity=TRUE,
showHistogramMedian=TRUE,
xAxis=list("Weight-Fem"),
xAxisHistogramHeight=150,
xAxisHistogramShow=TRUE,
yAxis=list("Weight-Mas"),
yAxisHistogramHeight=150,
yAxisHistogramShow=TRUE
)
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 = "density11",
    data = {
      "x": {
        "sexf": ["F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F"],
        "sexm": ["M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M"]
      },
      "y": {
        "data": [
          [49, 67],
          [56, 68],
          [60, 66],
          [43, 69],
          [57, 67],
          [58, 69],
          [52, 74],
          [52, 71],
          [52, 65],
          [51, 59],
          [53, 67],
          [50, 63],
          [51, 72],
          [55, 57],
          [60, 63],
          [54, 67],
          [52, 64],
          [50, 62],
          [51, 63],
          [67, 68],
          [56, 69],
          [53, 68],
          [53, 76],
          [57, 71],
          [52, 66],
          [48, 62],
          [58, 80],
          [50, 68],
          [55, 62],
          [50, 66],
          [61, 63],
          [53, 64],
          [51, 60],
          [52, 66],
          [47, 67],
          [49, 60],
          [44, 49],
          [48, 64],
          [54, 65],
          [53, 68],
          [62, 65],
          [50, 67],
          [51, 60],
          [54, 69],
          [50, 69],
          [50, 66],
          [49, 72],
          [49, 67],
          [52, 66],
          [53, 66],
          [46, 67],
          [52, 70],
          [49, 67],
          [50, 68],
          [54, 59],
          [58, 63],
          [63, 72],
          [51, 59],
          [63, 66],
          [49, 67],
          [58, 70],
          [68, 63],
          [55, 66],
          [52, 56],
          [55, 67],
          [64, 62],
          [49, 64],
          [62, 59],
          [62, 67],
          [57, 68],
          [55, 63],
          [53, 74],
          [53, 68],
          [58, 70],
          [65, 75],
          [54, 62],
          [48, 69],
          [51, 70],
          [56, 65],
          [53, 67],
          [54, 60],
          [54, 67],
          [48, 61],
          [54, 69],
          [59, 61],
          [58, 67],
          [58, 61],
          [53, 64],
          [54, 57],
          [49, 66],
          [55, 70],
          [56, 66],
          [64, 56],
          [60, 62],
          [53, 73],
          [57, 74],
          [49, 59],
          [59, 63],
          [60, 67],
          [66, 67],
          [57, 62],
          [53, 60],
          [55, 64],
          [52, 70],
          [51, 65],
          [56, 62],
          [51, 62],
          [56, 73],
          [57, 63],
          [55, 69],
          [54, 72],
          [52, 67],
          [49, 63],
          [59, 65],
          [55, 63],
          [59, 71],
          [49, 64],
          [56, 73],
          [58, 62],
          [55, 62],
          [54, 66],
          [51, 65],
          [65, 62],
          [59, 57],
          [64, 65],
          [55, 61],
          [52, 70],
          [47, 60],
          [52, 71],
          [56, 62],
          [60, 66],
          [56, 69],
          [49, 62],
          [58, 68],
          [47, 65],
          [53, 59],
          [53, 64],
          [45, 73],
          [60, 64],
          [52, 61],
          [53, 65],
          [62, 67],
          [58, 70],
          [54, 71],
          [58, 66],
          [57, 71],
          [63, 61],
          [56, 53],
          [58, 63],
          [57, 62],
          [53, 53],
          [55, 68],
          [63, 61],
          [51, 64],
          [56, 57],
          [62, 68],
          [54, 74],
          [50, 61],
          [51, 64],
          [53, 75],
          [51, 70],
          [54, 75],
          [53, 65],
          [54, 64],
          [57, 62],
          [58, 72],
          [63, 59],
          [55, 67],
          [53, 65],
          [62, 76],
          [64, 62],
          [55, 57],
          [53, 66],
          [46, 65],
          [62, 61],
          [51, 66],
          [49, 64],
          [70, 62],
          [56, 68],
          [55, 63],
          [41, 56],
          [55, 52],
          [60, 62],
          [57, 72],
          [60, 69],
          [65, 71],
          [61, 70],
          [52, 67],
          [59, 57],
          [54, 66],
          [52, 73],
          [41, 48],
          [51, 61],
          [57, 71],
          [66, 68],
          [58, 69],
          [58, 67],
          [50, 68],
          [56, 65],
          [45, 60]
        ],
        "smps": ["Weight-Fem", "Weight-Mas"]
      }
    },
    config = {
      "graphType": "Scatter2D",
      "hideHistogram": False,
      "histogramBins": 20,
      "histogramStat": "count",
      "showFilledHistogramDensity": True,
      "showHistogramBars": True,
      "showHistogramDensity": True,
      "showHistogramMedian": True,
      "xAxis": ["Weight-Fem"],
      "xAxisHistogramHeight": 150,
      "xAxisHistogramShow": True,
      "yAxis": ["Weight-Mas"],
      "yAxisHistogramHeight": 150,
      "yAxisHistogramShow": True
    },
    width = 600,
    height = 600
  )

  # 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 = "density11",
    data = {
      "x": {
        "sexf": ["F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F"],
        "sexm": ["M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M"]
      },
      "y": {
        "data": [
          [49, 67],
          [56, 68],
          [60, 66],
          [43, 69],
          [57, 67],
          [58, 69],
          [52, 74],
          [52, 71],
          [52, 65],
          [51, 59],
          [53, 67],
          [50, 63],
          [51, 72],
          [55, 57],
          [60, 63],
          [54, 67],
          [52, 64],
          [50, 62],
          [51, 63],
          [67, 68],
          [56, 69],
          [53, 68],
          [53, 76],
          [57, 71],
          [52, 66],
          [48, 62],
          [58, 80],
          [50, 68],
          [55, 62],
          [50, 66],
          [61, 63],
          [53, 64],
          [51, 60],
          [52, 66],
          [47, 67],
          [49, 60],
          [44, 49],
          [48, 64],
          [54, 65],
          [53, 68],
          [62, 65],
          [50, 67],
          [51, 60],
          [54, 69],
          [50, 69],
          [50, 66],
          [49, 72],
          [49, 67],
          [52, 66],
          [53, 66],
          [46, 67],
          [52, 70],
          [49, 67],
          [50, 68],
          [54, 59],
          [58, 63],
          [63, 72],
          [51, 59],
          [63, 66],
          [49, 67],
          [58, 70],
          [68, 63],
          [55, 66],
          [52, 56],
          [55, 67],
          [64, 62],
          [49, 64],
          [62, 59],
          [62, 67],
          [57, 68],
          [55, 63],
          [53, 74],
          [53, 68],
          [58, 70],
          [65, 75],
          [54, 62],
          [48, 69],
          [51, 70],
          [56, 65],
          [53, 67],
          [54, 60],
          [54, 67],
          [48, 61],
          [54, 69],
          [59, 61],
          [58, 67],
          [58, 61],
          [53, 64],
          [54, 57],
          [49, 66],
          [55, 70],
          [56, 66],
          [64, 56],
          [60, 62],
          [53, 73],
          [57, 74],
          [49, 59],
          [59, 63],
          [60, 67],
          [66, 67],
          [57, 62],
          [53, 60],
          [55, 64],
          [52, 70],
          [51, 65],
          [56, 62],
          [51, 62],
          [56, 73],
          [57, 63],
          [55, 69],
          [54, 72],
          [52, 67],
          [49, 63],
          [59, 65],
          [55, 63],
          [59, 71],
          [49, 64],
          [56, 73],
          [58, 62],
          [55, 62],
          [54, 66],
          [51, 65],
          [65, 62],
          [59, 57],
          [64, 65],
          [55, 61],
          [52, 70],
          [47, 60],
          [52, 71],
          [56, 62],
          [60, 66],
          [56, 69],
          [49, 62],
          [58, 68],
          [47, 65],
          [53, 59],
          [53, 64],
          [45, 73],
          [60, 64],
          [52, 61],
          [53, 65],
          [62, 67],
          [58, 70],
          [54, 71],
          [58, 66],
          [57, 71],
          [63, 61],
          [56, 53],
          [58, 63],
          [57, 62],
          [53, 53],
          [55, 68],
          [63, 61],
          [51, 64],
          [56, 57],
          [62, 68],
          [54, 74],
          [50, 61],
          [51, 64],
          [53, 75],
          [51, 70],
          [54, 75],
          [53, 65],
          [54, 64],
          [57, 62],
          [58, 72],
          [63, 59],
          [55, 67],
          [53, 65],
          [62, 76],
          [64, 62],
          [55, 57],
          [53, 66],
          [46, 65],
          [62, 61],
          [51, 66],
          [49, 64],
          [70, 62],
          [56, 68],
          [55, 63],
          [41, 56],
          [55, 52],
          [60, 62],
          [57, 72],
          [60, 69],
          [65, 71],
          [61, 70],
          [52, 67],
          [59, 57],
          [54, 66],
          [52, 73],
          [41, 48],
          [51, 61],
          [57, 71],
          [66, 68],
          [58, 69],
          [58, 67],
          [50, 68],
          [56, 65],
          [45, 60]
        ],
        "smps": ["Weight-Fem", "Weight-Mas"]
      }
    },
    config = {
      "graphType": "Scatter2D",
      "hideHistogram": False,
      "histogramBins": 20,
      "histogramStat": "count",
      "showFilledHistogramDensity": True,
      "showHistogramBars": True,
      "showHistogramDensity": True,
      "showHistogramMedian": True,
      "xAxis": ["Weight-Fem"],
      "xAxisHistogramHeight": 150,
      "xAxisHistogramShow": True,
      "yAxis": ["Weight-Mas"],
      "yAxisHistogramHeight": 150,
      "yAxisHistogramShow": True
    },
    width = 600,
    height = 600
  )
)
using CanvasXpress

canvasxpress(Dict(
  "x" => Dict(
    "sexf" => ["F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F"],
    "sexm" => ["M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M", "M"]
  ),
  "y" => Dict(
    "data" => [
      [49, 67],
      [56, 68],
      [60, 66],
      [43, 69],
      [57, 67],
      [58, 69],
      [52, 74],
      [52, 71],
      [52, 65],
      [51, 59],
      [53, 67],
      [50, 63],
      [51, 72],
      [55, 57],
      [60, 63],
      [54, 67],
      [52, 64],
      [50, 62],
      [51, 63],
      [67, 68],
      [56, 69],
      [53, 68],
      [53, 76],
      [57, 71],
      [52, 66],
      [48, 62],
      [58, 80],
      [50, 68],
      [55, 62],
      [50, 66],
      [61, 63],
      [53, 64],
      [51, 60],
      [52, 66],
      [47, 67],
      [49, 60],
      [44, 49],
      [48, 64],
      [54, 65],
      [53, 68],
      [62, 65],
      [50, 67],
      [51, 60],
      [54, 69],
      [50, 69],
      [50, 66],
      [49, 72],
      [49, 67],
      [52, 66],
      [53, 66],
      [46, 67],
      [52, 70],
      [49, 67],
      [50, 68],
      [54, 59],
      [58, 63],
      [63, 72],
      [51, 59],
      [63, 66],
      [49, 67],
      [58, 70],
      [68, 63],
      [55, 66],
      [52, 56],
      [55, 67],
      [64, 62],
      [49, 64],
      [62, 59],
      [62, 67],
      [57, 68],
      [55, 63],
      [53, 74],
      [53, 68],
      [58, 70],
      [65, 75],
      [54, 62],
      [48, 69],
      [51, 70],
      [56, 65],
      [53, 67],
      [54, 60],
      [54, 67],
      [48, 61],
      [54, 69],
      [59, 61],
      [58, 67],
      [58, 61],
      [53, 64],
      [54, 57],
      [49, 66],
      [55, 70],
      [56, 66],
      [64, 56],
      [60, 62],
      [53, 73],
      [57, 74],
      [49, 59],
      [59, 63],
      [60, 67],
      [66, 67],
      [57, 62],
      [53, 60],
      [55, 64],
      [52, 70],
      [51, 65],
      [56, 62],
      [51, 62],
      [56, 73],
      [57, 63],
      [55, 69],
      [54, 72],
      [52, 67],
      [49, 63],
      [59, 65],
      [55, 63],
      [59, 71],
      [49, 64],
      [56, 73],
      [58, 62],
      [55, 62],
      [54, 66],
      [51, 65],
      [65, 62],
      [59, 57],
      [64, 65],
      [55, 61],
      [52, 70],
      [47, 60],
      [52, 71],
      [56, 62],
      [60, 66],
      [56, 69],
      [49, 62],
      [58, 68],
      [47, 65],
      [53, 59],
      [53, 64],
      [45, 73],
      [60, 64],
      [52, 61],
      [53, 65],
      [62, 67],
      [58, 70],
      [54, 71],
      [58, 66],
      [57, 71],
      [63, 61],
      [56, 53],
      [58, 63],
      [57, 62],
      [53, 53],
      [55, 68],
      [63, 61],
      [51, 64],
      [56, 57],
      [62, 68],
      [54, 74],
      [50, 61],
      [51, 64],
      [53, 75],
      [51, 70],
      [54, 75],
      [53, 65],
      [54, 64],
      [57, 62],
      [58, 72],
      [63, 59],
      [55, 67],
      [53, 65],
      [62, 76],
      [64, 62],
      [55, 57],
      [53, 66],
      [46, 65],
      [62, 61],
      [51, 66],
      [49, 64],
      [70, 62],
      [56, 68],
      [55, 63],
      [41, 56],
      [55, 52],
      [60, 62],
      [57, 72],
      [60, 69],
      [65, 71],
      [61, 70],
      [52, 67],
      [59, 57],
      [54, 66],
      [52, 73],
      [41, 48],
      [51, 61],
      [57, 71],
      [66, 68],
      [58, 69],
      [58, 67],
      [50, 68],
      [56, 65],
      [45, 60]
    ],
    "smps" => ["Weight-Fem", "Weight-Mas"]
  )
);
  graphType = "Scatter2D",
  hideHistogram = false,
  histogramBins = 20,
  histogramStat = "count",
  showFilledHistogramDensity = true,
  showHistogramBars = true,
  showHistogramDensity = true,
  showHistogramMedian = true,
  xAxis = ["Weight-Fem"],
  xAxisHistogramHeight = 150,
  xAxisHistogramShow = true,
  yAxis = ["Weight-Mas"],
  yAxisHistogramHeight = 150,
  yAxisHistogramShow = true
)
⇧