JavaScript VisualizationTools
HTML CSS R JavaScript
Latest commit 448090e Feb 20, 2017 @neuhausi committed on GitHub Merge pull request #17 from cb4ds/master
v0.14.3

README.md

canvasXpress R Library

CRAN_Status_Badge CDNJ version Travis-CI Build Status Coverage Status

canvasXpress was developed as the core visualization component for bioinformatics and systems biology analysis at Bristol-Myers Squibb. It supports a large number of visualizations to display scientific and non-scientific data. canvasXpress also includes a simple and unobtrusive user interface to explore complex data sets, a sofisticated and unique mechanism to keep track of all user customization for Reproducible Research purposes, as well as an 'out of the box' broadcasting capability to synchronize selected data points in all canvasXpress plots in a page. Data can be easily sorted, grouped, transposed, transformed or clustered dynamically. The fully customizable mouse events as well as the zooming, panning and drag'n drop capabilities are features that make this library unique in its class.

canvasXpress can be now simply used within R at the console to generate conventional plots, in R-Studio or seamlessly embeded in Shiny web applications. An full-fledged example of the canvasXpress library including the mouse events, zooming, and broadcasting capabilities is included in this package in the shiny directory. This canvasXpress R library was created with the htmlwidgets package.

Getting Started

You can install the latest version of canvasXpress from GitHub as follows:

devtools::install_github('neuhausi/canvasXpress')

Scatter 3D Plot Example

data <- t(iris[,1:4])
varAnnot <- as.matrix(iris[,5])
colnames(varAnnot) <- "Species"
canvasXpress(t(data), varAnnot=varAnnot, graphType='Scatter3D', colorBy='Species')

Scatter3D

Scatter 2D Plot Example

data <- t(iris[,1:4])
varAnnot <- as.matrix(iris[,5])
colnames(varAnnot) <- "Species"
canvasXpress(t(data), varAnnot=varAnnot, scatterPlotMatrix=1, colorBy='Species')

Scatter2D

Boxplot Example

data <- t(iris[,1:4])
smpAnnot <- as.matrix(iris[,5])
colnames(smpAnnot) <- "Species"
canvasXpress(data, smpAnnot=smpAnnot, graphType='Boxplot', groupingFactors=list('Species'))
# or
canvasXpress(data, smpAnnot=smpAnnot, graphType='Boxplot', afterRender=list(list('groupSamples', list('Species'))))

Boxplot

Heatmap Example

data <- t(iris[,1:4])
smpAnnot <- as.matrix(iris[,5])
colnames(smpAnnot) <- "Species"
canvasXpress(data, smpAnnot=smpAnnot, graphType='Heatmap', smpOverlays=list('Species'), variablesClustered=TRUE, showSampleNames=FALSE)

Heatmap

Four way Venn Diagram Example

vennData <- data.frame(A=57, B=12, C=67, D=72, AB=4, AC=67, AD=25, BC=67, BD=27, CD=38, ABC=69, ABD=28, ACD=52, BCD=46, ABCD=3)
canvasXpress(vennData=vennData, graphType='Venn', vennGroups=4, vennLegend=list(A="List1", B="List2", C="List3", D="List4"))

Venn

Additional information and many examples with the JavaScript canvasXpress library can be found here.