score:3
Based on your requirements and summary, I would recommend the latest release of Cocos2D-html5 which includes WebGL rendering support. This is as simple as changing the rendering setting from Canvas to WebGL in the cocos2d.js settings file. For Example, in HelloHTML5World/cocos2d.js change renderMode to 2 for WebGL based rendering.
renderMode:0, //Choose of RenderMode: 0(default), 1(Canvas only), 2(WebGL only)
Cocos2d-html5 is more precisely a graphics library and & maybe construed as a complete game library only in combination with the (default) chipmunk or box2d game physics libraries.
Does it support rectangular selection, or zoom and pan? Yes, you can extend the existing libraries to implement these behaviours.
Other advantage of Cocos2d-html5 platform is added support for visual graphics editing with Cocosbuilder and cross-platform native support (iOS, Android etc) for same codebase with Javascript bindings.
If you have specific platform questions, these can be answered in better detail with code.
You may want to look at the JS reference and the cocos2d-html5 forum for getting started.
Update1: Looked at your data visualization code for iris dataset, The plots are housed in a svg element, with tiny circles plotting each datapoint according to x,y coordinates. These can be accomplished in Cocos2d too via x,y coordinates, grids, boxes with varying opacity and the tiny circles for the data points. Import your iris dataset in json/xmll/csv format via javascript code and plot via above cocos2d methods. Rectangle selection via javascript event callbacks & mousehandler methods and corresponding update of canvas scene.
Update2: On second thoughts, if you find the learning curve for cocos2d steep, you may better restrict yourself to a charting only library which is WebGL based. This project VivaGraphJS seems suitable with high performance being WebGL based.
Also, please ask questions preferably in this format, what you tried in code, what was the expected output, what you got instead. SO is not meant for comparison of libraries. WebGL is a rendering method. The switch, for example in three.js is as simple as
renderer = new THREE.WebGLRenderer();
instead of the canvas one:
renderer = new THREE.CanvasRenderer();
resulting in higher performance.
Source: stackoverflow.com
Related Query
- Suitable library for combining with D3js , to allowing drawing to webgl (2D)
- d3js timeline chart - with one rectangle block for a scrub
- Data for sunburst charts with d3.hierarchy using D3js v4
- Mix bar and line charts with Rickshaw (d3 based graphing library for js)
- Drawing simple lines with d3js
- Looking for a world map with a specific projection in d3js
- Drawing map with d3js from openstreetmap geojson
- Error: Cross origin requests are only supported for HTTP with D3js
- How do I create a multiline chart using d3js with json formatted for nvd3?
- Using generic function for drawing line d3js
- how to start drawing a line with a space between y-axis and it using d3js
- Replacing JSON file with CSV for d3js
- JSON to SVG plan drawing with D3js
- Combining color schemes for categorical data with linear ranges
- d3js Text Transition I example with v3 library
- Create an array from csv for use with D3.js library
- Calling alternate chart drawing function based on user selection with d3js
- InkScape pixelates SVG with embedded xlink:href SVG files for nodes in a D3js graph
- Library for creating scatter plot charts with quadrants
- How to change randomised data used for graph values with my input data? D3js donut graph
- combining Aframe and d3.js: embed issue with different library source
- Data model for creating a radial bar chart with d3js
- D3: Drawing 3 csv in 1 graph with a function for each, but 2 don't work
- Appending multiple non-nested elements for each data member with D3.js
- Drawing multiple edges between two nodes with d3
- Drawing non-continuous lines with d3
- Create database E-R diagram with D3js
- HTML5 canvas alternatives for d3.js, graph visualization library
- D3: Create a continuous color scale with many strings/inputs for the range and dynamically changing values of the domain
- Do AngularJS Directives for D3JS exist?
More Query from same tag
- How to change orientation of a D3 tree layout by 90 degrees
- D3.js not using all of the data points
- how to get the type of a scale in D3?
- D3.js - What is the best way to filter a d3.csv object to only include the top n (count) results?
- What is "size" in flare json -- used in D3 examples?
- Having trouble integrating D3.js (collapsible tree) into Angular application
- D3 force layout: making pan on drag (zoom) smoother
- How to add colours to D3 js sunburst diagram from JSON-file?
- is there a way to add drag and drop in svg d3.js?
- Restricting minimum and maximum width of brush box
- Is it possible to select a <path> based on a click on <g>?
- Multiple points of Gravity in d3.js
- Create multiple elements from object-as-data
- change a solid link to a particular node into dashed one programmatically in d3
- How to use python pandas to get intersection of sets from a csv file
- D3 creating a table
- Load large dataset into crossfilter/dc.js
- translate SVG striped pattern into d3
- d3 parallel coordinates datetime axis
- appending tags in d3 without nesting
- D3,js on mouse event CLICK appending only the first image from data set
- Plotting points on a map with D3
- Can't get d3 tooltips to display name, only number
- D3.js: Load flat 1-dimensional array via d3.csv results in "TypeError: groupData is undefined" / Load multiple CSV files with D3.js
- D3 force directed graph with drag and drop support to make selected node position fixed when dropped
- Read csv to object of object for d3 [datamaps]
- d3.select.style not working on firefox
- javascript d3 visualization doesn't load/appear until clicking HTML input
- D3 Context menu with sub-menu
- How to link extra attributes from json data in a D3.js force layout?