Points Side Override

Violin plots offer a compelling visualization combining box plots and kernel density estimations. They showcase data distribution, including median, quartiles, and the probability density of the data at different values. This detailed view helps compare distributions across multiple groups effectively. Unlike box plots which only show summary statistics, violin plots provide a richer understanding of the data shape and spread, revealing skewness and the presence of outliers more clearly. They are particularly useful for identifying differences and similarities between various datasets. This enhanced visualization improves data interpretation and communication.


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 = 

      // Create the configuration for the graph
      var config = {
         "axisAlgorithm" : "rPretty",
         "axisTitleFontStyle" : "bold",
         "background" : "white",
         "backgroundType" : "panel",
         "graphOrientation" : "vertical",
         "graphType" : "Boxplot",
         "groupingFactors" : [
            "dose"
         ],
         "guidesColor" : "white",
         "guidesLineType" : "solid",
         "guidesShow" : true,
         "panelBackgroundColor" : "#E5E5E5",
         "showBoxplotIfViolin" : true,
         "showLegend" : false,
         "showViolinBoxplot" : true,
         "smpTextRotate" : 90,
         "smpTitle" : "dose",
         "smpTitleFontStyle" : "bold",
         "title" : "Points Side Override",
         "violinScale" : "area",
         "xAxis" : [
            "len"
         ],
         "xAxis2Show" : false,
         "xAxisGridMajorColor" : "white",
         "xAxisGridMinorShow" : false,
         "xAxisTitle" : "len",
         "violinSide" : "lt",
         "showBoxplotOriginalData" : true,
         "jitter" : true,
         "violinPointsSide" : "lt"
      }

      // 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" : {
            "dose" : [
               "0.5",
               "0.5",
               "0.5",
               "0.5",
               "0.5",
               "0.5",
               "0.5",
               "0.5",
               "0.5",
               "0.5",
               "1",
               "1",
               "1",
               "1",
               "1",
               "1",
               "1",
               "1",
               "1",
               "1",
               "2",
               "2",
               "2",
               "2",
               "2",
               "2",
               "2",
               "2",
               "2",
               "2",
               "0.5",
               "0.5",
               "0.5",
               "0.5",
               "0.5",
               "0.5",
               "0.5",
               "0.5",
               "0.5",
               "0.5",
               "1",
               "1",
               "1",
               "1",
               "1",
               "1",
               "1",
               "1",
               "1",
               "1",
               "2",
               "2",
               "2",
               "2",
               "2",
               "2",
               "2",
               "2",
               "2",
               "2"
            ],
            "order" : [
               1,
               2,
               3,
               4,
               5,
               6,
               7,
               8,
               9,
               10,
               1,
               2,
               3,
               4,
               5,
               6,
               7,
               8,
               9,
               10,
               1,
               2,
               3,
               4,
               5,
               6,
               7,
               8,
               9,
               10,
               1,
               2,
               3,
               4,
               5,
               6,
               7,
               8,
               9,
               10,
               1,
               2,
               3,
               4,
               5,
               6,
               7,
               8,
               9,
               10,
               1,
               2,
               3,
               4,
               5,
               6,
               7,
               8,
               9,
               10
            ],
            "supp" : [
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "VC",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ",
               "OJ"
            ]
         },
         "y" : {
            "data" : [
               [
                  4.2,
                  11.5,
                  7.3,
                  5.8,
                  6.4,
                  10,
                  11.2,
                  11.2,
                  5.2,
                  7,
                  16.5,
                  16.5,
                  15.2,
                  17.3,
                  22.5,
                  17.3,
                  13.6,
                  14.5,
                  18.8,
                  15.5,
                  23.6,
                  18.5,
                  33.9,
                  25.5,
                  26.4,
                  32.5,
                  26.7,
                  21.5,
                  23.3,
                  29.5,
                  15.2,
                  21.5,
                  17.6,
                  9.7,
                  14.5,
                  10,
                  8.2,
                  9.4,
                  16.5,
                  9.7,
                  19.7,
                  23.3,
                  23.6,
                  26.4,
                  20,
                  25.2,
                  25.8,
                  21.2,
                  14.5,
                  27.3,
                  25.5,
                  26.4,
                  22.4,
                  24.5,
                  24.8,
                  30.9,
                  26.4,
                  27.3,
                  29.4,
                  23
               ]
            ],
            "smps" : [
               "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"
            ],
            "vars" : [
               "len"
            ]
         }
      }

      // Create the configuration for the graph
      var config = {
         "axisAlgorithm" : "rPretty",
         "axisTitleFontStyle" : "bold",
         "background" : "white",
         "backgroundType" : "panel",
         "graphOrientation" : "vertical",
         "graphType" : "Boxplot",
         "groupingFactors" : [
            "dose"
         ],
         "guidesColor" : "white",
         "guidesLineType" : "solid",
         "guidesShow" : true,
         "panelBackgroundColor" : "#E5E5E5",
         "showBoxplotIfViolin" : true,
         "showLegend" : false,
         "showViolinBoxplot" : true,
         "smpTextRotate" : 90,
         "smpTitle" : "dose",
         "smpTitleFontStyle" : "bold",
         "title" : "Points Side Override",
         "violinScale" : "area",
         "xAxis" : [
            "len"
         ],
         "xAxis2Show" : false,
         "xAxisGridMajorColor" : "white",
         "xAxisGridMinorShow" : false,
         "xAxisTitle" : "len",
         "violinSide" : "lt",
         "showBoxplotOriginalData" : true,
         "jitter" : true,
         "violinPointsSide" : "lt"
      }

      // 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-violin27-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-violin27-smp.txt", header=TRUE, sep="\t", quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE)
canvasXpress(
data=y,
smpAnnot=x,
axisAlgorithm="rPretty",
axisTitleFontStyle="bold",
background="white",
backgroundType="panel",
graphOrientation="vertical",
graphType="Boxplot",
groupingFactors=list("dose"),
guidesColor="white",
guidesLineType="solid",
guidesShow=TRUE,
jitter=TRUE,
panelBackgroundColor="#E5E5E5",
showBoxplotIfViolin=TRUE,
showBoxplotOriginalData=TRUE,
showLegend=FALSE,
showViolinBoxplot=TRUE,
smpTextRotate=90,
smpTitle="dose",
smpTitleFontStyle="bold",
title="Points Side Override",
violinPointsSide="lt",
violinScale="area",
violinSide="lt",
xAxis=list("len"),
xAxis2Show=FALSE,
xAxisGridMajorColor="white",
xAxisGridMinorShow=FALSE,
xAxisTitle="len"
)
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 = "violin27",
    data = {
      "x": {
        "dose": ["0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2"],
        "order": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
        "supp": ["VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ"]
      },
      "y": {
        "data": [
          [4.2, 11.5, 7.3, 5.8, 6.4, 10, 11.2, 11.2, 5.2, 7, 16.5, 16.5, 15.2, 17.3, 22.5, 17.3, 13.6, 14.5, 18.8, 15.5, 23.6, 18.5, 33.9, 25.5, 26.4, 32.5, 26.7, 21.5, 23.3, 29.5, 15.2, 21.5, 17.6, 9.7, 14.5, 10, 8.2, 9.4, 16.5, 9.7, 19.7, 23.3, 23.6, 26.4, 20, 25.2, 25.8, 21.2, 14.5, 27.3, 25.5, 26.4, 22.4, 24.5, 24.8, 30.9, 26.4, 27.3, 29.4, 23]
        ],
        "smps": ["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"],
        "vars": ["len"]
      }
    },
    config = {
      "axisAlgorithm": "rPretty",
      "axisTitleFontStyle": "bold",
      "background": "white",
      "backgroundType": "panel",
      "graphOrientation": "vertical",
      "graphType": "Boxplot",
      "groupingFactors": ["dose"],
      "guidesColor": "white",
      "guidesLineType": "solid",
      "guidesShow": True,
      "panelBackgroundColor": "#E5E5E5",
      "showBoxplotIfViolin": True,
      "showLegend": False,
      "showViolinBoxplot": True,
      "smpTextRotate": 90,
      "smpTitle": "dose",
      "smpTitleFontStyle": "bold",
      "title": "Points Side Override",
      "violinScale": "area",
      "xAxis": ["len"],
      "xAxis2Show": False,
      "xAxisGridMajorColor": "white",
      "xAxisGridMinorShow": False,
      "xAxisTitle": "len",
      "violinSide": "lt",
      "showBoxplotOriginalData": True,
      "jitter": True,
      "violinPointsSide": "lt"
    },
    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 = "violin27",
    data = {
      "x": {
        "dose": ["0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2"],
        "order": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
        "supp": ["VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ"]
      },
      "y": {
        "data": [
          [4.2, 11.5, 7.3, 5.8, 6.4, 10, 11.2, 11.2, 5.2, 7, 16.5, 16.5, 15.2, 17.3, 22.5, 17.3, 13.6, 14.5, 18.8, 15.5, 23.6, 18.5, 33.9, 25.5, 26.4, 32.5, 26.7, 21.5, 23.3, 29.5, 15.2, 21.5, 17.6, 9.7, 14.5, 10, 8.2, 9.4, 16.5, 9.7, 19.7, 23.3, 23.6, 26.4, 20, 25.2, 25.8, 21.2, 14.5, 27.3, 25.5, 26.4, 22.4, 24.5, 24.8, 30.9, 26.4, 27.3, 29.4, 23]
        ],
        "smps": ["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"],
        "vars": ["len"]
      }
    },
    config = {
      "axisAlgorithm": "rPretty",
      "axisTitleFontStyle": "bold",
      "background": "white",
      "backgroundType": "panel",
      "graphOrientation": "vertical",
      "graphType": "Boxplot",
      "groupingFactors": ["dose"],
      "guidesColor": "white",
      "guidesLineType": "solid",
      "guidesShow": True,
      "panelBackgroundColor": "#E5E5E5",
      "showBoxplotIfViolin": True,
      "showLegend": False,
      "showViolinBoxplot": True,
      "smpTextRotate": 90,
      "smpTitle": "dose",
      "smpTitleFontStyle": "bold",
      "title": "Points Side Override",
      "violinScale": "area",
      "xAxis": ["len"],
      "xAxis2Show": False,
      "xAxisGridMajorColor": "white",
      "xAxisGridMinorShow": False,
      "xAxisTitle": "len",
      "violinSide": "lt",
      "showBoxplotOriginalData": True,
      "jitter": True,
      "violinPointsSide": "lt"
    },
    width = 600,
    height = 600
  )
)
using CanvasXpress

canvasxpress(Dict(
  "x" => Dict(
    "dose" => ["0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "0.5", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2"],
    "order" => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
    "supp" => ["VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ", "OJ"]
  ),
  "y" => Dict(
    "data" => [
      [4.2, 11.5, 7.3, 5.8, 6.4, 10, 11.2, 11.2, 5.2, 7, 16.5, 16.5, 15.2, 17.3, 22.5, 17.3, 13.6, 14.5, 18.8, 15.5, 23.6, 18.5, 33.9, 25.5, 26.4, 32.5, 26.7, 21.5, 23.3, 29.5, 15.2, 21.5, 17.6, 9.7, 14.5, 10, 8.2, 9.4, 16.5, 9.7, 19.7, 23.3, 23.6, 26.4, 20, 25.2, 25.8, 21.2, 14.5, 27.3, 25.5, 26.4, 22.4, 24.5, 24.8, 30.9, 26.4, 27.3, 29.4, 23]
    ],
    "smps" => ["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"],
    "vars" => ["len"]
  )
);
  axisAlgorithm = "rPretty",
  axisTitleFontStyle = "bold",
  background = "white",
  backgroundType = "panel",
  graphOrientation = "vertical",
  graphType = "Boxplot",
  groupingFactors = ["dose"],
  guidesColor = "white",
  guidesLineType = "solid",
  guidesShow = true,
  panelBackgroundColor = "#E5E5E5",
  showBoxplotIfViolin = true,
  showLegend = false,
  showViolinBoxplot = true,
  smpTextRotate = 90,
  smpTitle = "dose",
  smpTitleFontStyle = "bold",
  title = "Points Side Override",
  violinScale = "area",
  xAxis = ["len"],
  xAxis2Show = false,
  xAxisGridMajorColor = "white",
  xAxisGridMinorShow = false,
  xAxisTitle = "len",
  violinSide = "lt",
  showBoxplotOriginalData = true,
  jitter = true,
  violinPointsSide = "lt"
)
⇧