Stacked percent bar-line graphs combine features of stacked bar charts and line graphs. The bars represent parts of a whole, with each segment showing a percentage contribution to the total. The stacked format makes it easy to compare proportions across categories. Meanwhile, the line overlay can track trends or other related data points across the same categories, offering a dual-layered visualization.
<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" : { "Factor1" : ["Lev : 1","Lev : 2","Lev : 3","Lev : 1","Lev : 2","Lev : 3"], "Factor2" : ["Lev : A","Lev : B","Lev : A","Lev : B","Lev : A","Lev : B"], "Factor3" : ["Lev : X","Lev : X","Lev : Y","Lev : Y","Lev : Z","Lev : Z"], "Factor4" : [5,10,15,20,25,30], "Factor5" : [8,16,24,32,40,48], "Factor6" : [10,20,30,40,50,60] }, "y" : { "data" : [ [5,10,25,40,45,50], [95,80,75,70,55,40], [25,30,45,60,65,70], [55,40,35,30,15,1] ], "desc" : ["Magnitude1","Magnitude2"], "smps" : ["S1","S2","S3","S4","S5","S6"], "vars" : ["V1","V2","V3","V4"] }, "z" : { "Annt1" : ["Desc : 1","Desc : 2","Desc : 3","Desc : 4"], "Annt2" : ["Desc : A","Desc : B","Desc : A","Desc : B"], "Annt3" : ["Desc : X","Desc : X","Desc : Y","Desc : Y"], "Annt4" : [5,10,15,20], "Annt5" : [8,16,24,32], "Annt6" : [10,20,30,40] } } // Create the configuration for the graph var config = { "coordinateLineColor" : true, "graphOrientation" : "horizontal", "graphType" : "StackedPercentLine", "lineThickness" : 3, "lineType" : "spline", "smpTitle" : "Collection of Samples", "smpTitleFontStyle" : "italic", "subtitle" : "Random Data", "theme" : "CanvasXpress", "title" : "Stacked-Line Graphs", "xAxis" : ["V1","V2"], "xAxis2" : ["V3","V4"] } // 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-generic-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-generic-smp.txt", header=TRUE, sep="\t", quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE) z=read.table("https://www.canvasxpress.org/data/r/cX-generic-var.txt", header=TRUE, sep="\t", quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE) canvasXpress( data=y, smpAnnot=x, varAnnot=z, coordinateLineColor=TRUE, graphOrientation="horizontal", graphType="StackedPercentLine", lineThickness=3, lineType="spline", smpTitle="Collection of Samples", smpTitleFontStyle="italic", subtitle="Random Data", theme="CanvasXpress", title="Stacked-Line Graphs", xAxis=list("V1", "V2"), xAxis2=list("V3", "V4") )