About canvasXpress

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 which includes: Area, AreaLine, Bar, BarLine, Boxplot, Candlestick, Circular, Correlation, Dotplot, DotLine, Genome, Heatmap, Layout, Line, Network, Pie, Scatter2D, Scatter3D, ScatterBubble2D, Stacked, StackedLine, StackedPercent, StackedPercentLine, Treemap, Venn and Video. CanvasXpress also includes a standalone unobtrusive data table and a filtering widget to allow data exploration similar to those only seen in other high-end commercial applications. 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.

Changes

/* *
* Version 7.8
*
* 1. Implemented TagCloud visualizations
* 2. Implemented different algorithms to set axis ticks
* 3. Fixed decorations mouse over in networks
* 4. Fix many bugs
*
* Version 7.7
*
* 1. Fixed bugs in histograms
* 2. Added menus to histogram data
* 3. Added simple way to correlate variables and samples
* 4. Added way to convert between annotation and vars or smps
* 5. Added transponse method to the menu
* 6. Added exploration of DOE
* 7. Fix bugs in selecting data points in heatmaps
* 8. Implemented oncoprints
*
* Version 7.6
*
* 1. Fixed bug in 3D Scatter plot axis
*
* Version 7.5
*
* 1. Improved histograms
* 2. Added metadata to histograms
* 3. Added selecting model for histograms
* 4. Added selecting model for pie charts
* 5. Added a dataframe format for data
* 6. Modified functionality of Scatter3D to account for dataframe
* 7. Fix minor bug in networks
*
* Version 7.4
*
* 1. Improved menus in the UI for 1/2/3 dimensional plots (more comming)
* 2. Refactored code to separate canvas renderer
* 3. Fixed minor bugs
* 4. Added zooming for correlation plots
* 5. Added DotLine plots
* 6. Fixed lots of bugs for the IE browser (still more to come)
* 7. Added connectBy properties for Scatter3D plots
*
* Version 7.3
*
* 1. autoAdjust property replaced by adjustAspectRatio
* 2. Major implementation of examples
* 3. Improved methods to see code in the graphs
* 4. Added interface to the configurator to see examples
* 5. Added additional data sets to the examples
* 6. Implemented style for all the fonts
* 7. Fixed bugs in setting exact axes
* 8. Fixed bugs in setting max and min for plots
* 9. Changed property allVsAll to scatterPlotMatrix
*
* Version 7.2
*
* 1. Added draggable div to show code
* 2. Added custom dblclick to Network and Genome graphs
* 3. Added override parameter for anchor nodes in Network graphs
* 4. Fixed some bugs in Genome browser
* 5. Fixed bug in sorting samples by variable when the data is grouped
* 6. Fixed bug in calculating the font size when data is grouped
* 7. Added ability to show overlays even when data is grouped
* 8. Added ability to zoom to clade in dendrograms by double-clicking
* 9. Improved feel and look and functionality of the data table
* 10. Implemented Treemap graphs
* 11. Fixed bug in axis of Stacked Percentage graphs
* 12. Fixed bug in Scatter plots with transformed data
* 13. Improved format for axis in Scatter plots
* 14. Major improvements in the Circular graphs (inspired by Circos)
* 15. Fixed bug in filters in Complex Layout graphs
* 16. Changed bindings for page down and page up keys for Genome graphs
* 17. Improve web site pages with more examples
* 18. Minor bug fixes
*
* Version 7.1
*
* 1. Added video as a graph type using http://videojs.com controls
*
* Version 7.0
*
* 1. Added flag to maintain zooming after initial drag in one D plots
* 2. Added parameter to hide ticks and titles in one D plots
* 3. Added parameter to use color for the legends in Venn diagrams
* 4. Fixed bug with Venn diagram resizing
* 5. Added ability to plot legend at the bottom in Pie charts
* 6. Fixed bug in radial networks
*
* Version 6.9
*
* 1. Move code to www.canvasxpress.org
*
* Version 6.8
*
* 1. Use Flash through FlashCanvas.js as a fallback when using IE < 9
* 2. Fix bugs when used in IE
*
* Version 6.7
*
* 1. Added sorting to data table
*
* Version 6.6
*
* 1. Fixed small bugs in data table
* 2. Fixed IE bugs
*
* Version 6.5
*
* 1. Fixed minor bugs
*
* * Version 6.4
*
* 1. Added parameter to exclude from filtering object with missing keys
* 2. Improved menus
* 3. Improved UI for filters, table and configurator (major)
*
* * Version 6.3
*
* 1. Fixed incompatibility with jquery
*
* Version 6.2
*
* 1. Fixed bug in labels in 3D Scatter plot
* 2. Fixed bug in varOverlays
* 3. Added mouse position sensitive zoom to Scatter-3D plots
* 4. Added animated toolbar
* 5. Added error bars to 2-D scatter plots
* 6. Implemented first version of menus in the network plots
* 7. Raw version for circular graphs
*
* Version 6.1
*
* 1. Fixed bug when shortening text
* 2. Added parameter to specify the number of labels in correlation plots
* 3. Added parameter to specify the number of variable labels in one D plots
* 4. Added parameter to specify the number of sample labels in one D plots
*
* Version 6.0
*
* 1. Fixed bug in varOverlays
* 2. Fixed bug in extra long text in sample and variable overlays
* 3. Fixed bug in setting minimum values in axes
* 4. Added parameter to adjust thickness of 3D bar plots
* 5. Fixed bug in showing tooltip in 3D bar graphs
*
* Version 5.9
*
* 1. Added spacer for sample and variable overlays
* 2. Added recycling colors for sample and variable overlays
* 3. Fixed bug in function 3D-plotter
*
* Version 5.8
*
* 1. Fixed a lot of bugs in multidimensional plots
* 2. Added 3D-bar graphs and 3D-dotplots
*
* Version 5.7
*
* 1. Filters ala Spotfire
* 2. Implemented multidimensional heatmaps (very kewl)
*
* Version 5.6
*
* 1. Implemented first version of filters
* 2. Added parameter to disable zooming of variables or samples
* 3. Improve sensitivity in event detection in genome browser
*
* Version 5.5
*
* 1. Fixed a resizing bug after updating data in Scatter-3D plots
*
* Version 5.4
*
* 1. Fixed a bug when automatically adjusting dimensions of heatmaps
*
* Version 5.3
*
* 1. Fixed bug when sorting null values
* 2. Fixed bug of changing colors in overlays when zooming in one-dimensional plot
* 3. Fixed bug with missing data in Area and AreaLine plots
*
* Version 5.2
*
* 1. Fixed bug when printing samples or variables whose ids are numbers
* 2. Droped support for older browsers
* 3. Fixed bugs in color, shape and size in one dimensional plots
* 4. Fixed bugs in sorting methods
* 5. Added cool animation for showing / hiding the data table
*
* Version 5.1
*
* 1. Added method to show connected nodes in networks (Ctrl-Home)
* 2. Added filter capabilities
* 3. Added filter widget to the configurator
* 4. Improved genome browser
* 5. Improved performance for event handling
* 6. Added drag and drop to sort samples for One-D graphs
* 7. Added method and parameters to destroy zombie objects
* 8. Improved performance in Firefox
* 9. Added Kaplan - Meer plots
* 10. Added ability to color, shape and size one dimensional plots
* 11. Added ability to plot by variables (rather than by samples)
*
* Version 5.0
*
* 1. Continue adding touch events for mobile devices (really, really kwel)
* 2. Added methods to zoom-in to selected data points in 3D-Scatter plot
* 3. Added methods to zoom-in by removing selected data points in 3D-Scatter plot
* 4. Minor improvements to genome browser
*
* Version 4.9
*
* 1. Improved performance to write sequences in boxes in Genome Browser
* 2. Added stripes to sequences in boxes when displayed at medium resolution
* 3. Added parameter to move parents when children are moved in Networks
* 4. Improved performance when graphing sequences in boxes in Genome Browser
* 5. Changed behavior when dragging mouse in the Genome Browser to panning
* 6. Changed behavior to Shift + drag mouse to zoom in Genome Browser
* 7. Fixed bug that prevented clear selection after click in blank space
* 8. Honored setMin and setMax values in Scatter plots (I guess a bug)
* 9. Added haze and reduce size for farther away data points in 3D-Scatter plot
* 10. Begin adding touch events for mobile devices (need to map them... kwel)
*
* Version 4.8
*
* 1. Fixed another bug in the 3d Scatter plot
* 2. Added configurator when displaying in mobile devices
* 3. Fixed bug in ajax method
*
* Version 4.7
*
* 1. Implemented multiple sorting method for samples and variables
* 2. Fixed bugs in grouping samples
* 3. Added support for sequences for boxes in Genome Browser
* 4. Added method to display a static tooltip for events this.showTooltipDiv
* 5. Fixed bug when using exact data in scatter plots
* 6. Added ability to pass parameters in the url (...&canvasXpress={...})
*
*
* Version 4.6
*
* 1. Implemented wheel zooming for one dimensional graphs
* 2. Improved zooming for heatmaps (by using mouse location)
* 3. Implemented panning for one dimensional graphs
* 4. Added acknowledgment switch (please use acknowledgment: true)
*
* Version 4.5
*
* 1. Fixed bug in boxplots with less that 4 variables
* 2. Added optimization to center the graph objects in one-D plots
*
* Version 4.4
*
* 1. Added ability to prevent resizing the canvas 'resizable'
* 2. Fixed bug in splines in one-D plots
* 3. Fixed bug in setting the legend and sample title in one-D plots
*
* Version 4.3
*
* 1. Added ability to prevent nodes in networks to catch events (eventless)
* 2. Added global property to override eventless nodes to be able to edit them
* 3. Re-factor the Genome Panel to implement Sanger sequencing and NGS (really cool)
* 4. Modified Zooming in Genome Panel and Networks to account for mouse position
* 5. Changed parameter for add samples from blockContrastOddColor to oddColor
* 6. Changed parameter for even samples from blockContrastEvenColor to evenColor
* 7. Re-factor the configurator panel (also very cool)
* 8. Began implementation of BAM/SAm files for genome browser (coming soon)
*
* Version 4.2
*
* 1. Added ability to plot stacked bars in Network decorations
* 2. Fixed a bug in clustering
*
* Version 4.1
*
* 1. Added ability for the configurator to take parameters
* 2. Added top, right, left and bottom margins to beautify graphs
* 3. Changed parameter names for scaling text to be consistent
* 4. Added factor to separate series in one dimensional graphs
* 5. Improved area graphs
* 6. Added splines for area graphs
* 7. Added new graph type AreaLine combination
* 8. Refactor many functions to improve performance and reusability of code
* 9. Changed the paradigm to graph stock technical indicators
* 10. Fixed bug in panning heatmaps
* 11. AutoExtend property replaced by autoAdjust
* 12. Changed the functionality of autoAdjust (autoAdjust)
* 13. Fixed bugs in 3d-Scatter plot
* 14. Added ability to plot bars in the 3d-Scatter plot
* 15. Remove option isScatterLine and replace by scatterType
* 16. Added ability to use images in scatter plots (use scatterType: 'image')
* 17. Added ability to plot functions in scatter plots
* 18. Improved the ability to display the actual data in a table
* 19. Modified the default behavior for mouse click to show the data table
* 20. Added option to disable showing help for key events
* 21. Fixed bug when displaying version
* 22. Added support for multi-line labels of node in networks
* 23. Added ability to format tick values in the axes
* 24. Added ability to link from variable and sample labels
* 25. Added ability to disable arrow and + / - events
* 26. Added ability to size decorations in networks
*
* Version 4.0
*
* 1. Added disable the version tooltip
* 2. Added ability to position the variable labels in heatmaps
* 3. Fixed bug in axis increments where all values are zero
* 4. Added validator for the parameters passed
* 5. Added label descriptions for variable and samples in heatmaps
* 6. Added ability to increase the width of the color indicators in heatmaps
* 7. Added moving averages 5, 10, 25 and 50 for the market graphs
* 8. Added ability to rotate 90 degrees sample, variable and tick labels
* 9. Improved quality of the lines in graphs (it still can be improved)
* 10. Fixed bug in normal distribution and regression lines
*
* Version 3.9
*
* 1. Changed path to canvasXpress.gif to images
* 2. Added a method to freeze the network after loading
* 3. Fixed calculation of tick values (again)
* 4. Fixed calculation for the length of the edges in the networks
* 5. Other minor fixes
* 6. Fixed position of images with network nodes
* 7. Added Title for variables in heatmaps
* 8. Added hide configurator on image click events
* 9. Changed default for modelEvent to 'global' to increase performance
* 10. Modified BarLine to align line to first series when necessary
* 11. Added StackedLine and StackedLinePercentage
*
* Version 3.8
*
* 1. fixed bug in setting user defined colors
* 2. added capability to implement user defined color in Venn diagrams
* 3. added capability to plot the untransformed tick values in scatter plots
* 4. fixed bugs in defining the tick values
* 5. fixed bugs in network resizing, moving and selecting
* 6. added configurator capability for network edges after alt + left mouse click
* 7. added flag to disable all user events
* 8. extended zooming model for networks and heatmaps with mouse wheel and + / - keys
* 9. changed the zoom default for choosing nodes in networks to require ctrl + mouse drag
* 10. added panning capabilities for networks and heatmaps with arrow, page keys and drag
* 11. fixed bug in sizing the genome browser
*
* Version 3.7
*
* 1. added capability to get data remotely
* 2. improved support for mobile apps
* 3. changed the events used for showing the configurator to dblclick in non mobile apps
* 4. add single click to show the configurator in nn mobile apps
* 5. added functions to the configurator
* 6. fixed bug in newick parser (dendrograms)
*
* Version 3.6
*
* 1. added capability to use images in the networks
* 2. fixed event bugs
* 3. fixed more bugs
* 4. added support for background images
* 5. added z-Index support for images
* 6. added show values for bar graphs and heatmaps
* 7. improved performance to save network data (Mingyi Liu)
* 8. added multiple pie charts for complex layouts
* 9. added a configurator after alt + left mouse click or double click
* 10. added a configurator for the network nodes after an alt + left mouse click
* 11. improve color management, transparencies and gradients
*
* Version 3.5
*
* 1. added rotation for the variable and sample labels
* 2. modified generic method to create shapes 'drawShape' to add outline width
* 3. modified generic method to create lines 'drawLine' to add outline width and cap style
* 4. added more backgroundType options to contrast the plotting area
* 5. added background color for the legends
* 6. added thickness for line plots
*
* Version 3.4
*
* 1. added more color schemes for the heatmaps
*
* Version 3.3
*
* 1. added radial layout for the networks
* 2. added bars and heatmaps for the networks
* 3. extended the shapes model to include width, height and rotation
* 4. added a generic method to draw shapes, lines and text in the canvas
* 5. remove canceling the bubbling in the events
*
* Version 3.2
*
* 1. overlays parameter taken out and replaced by smpOverlays
* 2. added support for variable overlays in heatmaps
* 3. added font parameters for overlays
* 4. added clustering capabilities
* 5. enhanced the complex layout object
* 6. implemented all vs all for 2D scatter plots (layout)
* 7. added segregation of variables in the data (layout)
* 8. added alignment for selected nodes in network
* 9. refactor the binding keys
* 10. added help for binding keys
* 11. added lines to join data points in series in scatter plots
* 12. added regression lines in scatter plots
* 13. added normal distribution lines in scatter plots
* 14. added a method to generate random data
* 15. added histogram method
* 16. added decoration shapes in 2D scatter plots
* 17. implemented colorBy method in bar graphs to color by a sample class
* 18. add support for switching branches in dendrograms
*
*/