I don't know about performance, but there are various reasons why one might be chosen over another. Here's a page that gives you the run-down on the differences. This might explain their decision:
Of course, other factors come into play, such as data sources, etc... For instance, SVG seems tempting if you're getting a big chunk of data from the server, as you can format it as an XML and serve it up.
Also, the decision could be much more banal; it could simply be what they knew, had tools for, or the thing for which they could find documentation most quickly.
Sadly, not all software decisions are made on merit. Decisions are often much more opportunistic and rushed.
My personal experience basically adheres to the following:
Use SVG when there are shape elements (circles.rect,ellipse,paths, polygons) that rquire individual events attached(onclick,mouseover,etc.)
Use CANVAS when you can access pixels to present the graphic. The pixel control allows sophisticaed graphics not possible with SVG, and in many cases much more effvicient.
Just my input...
Yes, make it by
SVG vs canvas: how to choose:
- SVG: High Fidelity Complex Vector Documents for Viewing and Printing, Static Images
<canvas>: Complex scenes and real time animations, High performance (filter, ray tracers), video manipulation.
Visit SVG vs canvas: how to choose for more details.
- SVG vs Canvas for a "wind" chart
- HTML5 SVG vs Canvas for big number of lines?
- d3 zoom and drag with SVG axes and canvas chart
- Ticks not showing up for a multi-series d3 svg chart
- SVG Legend for multi line chart d3 v6
- Pattern for using Meteor with advanced SVG or Canvas Ouput
- D3 zoom behavior with multiple containers for a chart in one svg
- Creating Markers for svg chart using d3.js
- d3: combining canvas + svg for retina
- NVD3, Clear svg before loading new chart
- How to set text color for my d3 chart title?
- Difference between svg and canvas in d3.js
- Title Attribute not working for an SVG Rect on Safari
- HTML5 canvas alternatives for d3.js, graph visualization library
- Auto width and height for SVG image
- Append SVG canvas to element other than body using D3
- MultiBar chart with nvd3 / d3 only shows labels for every other tick on the x-axis. How can I get them all to show up?
- Using an ordinal scale ('d3.scale.ordinal') for the x-axis in a bar chart
- SVG to Canvas with d3.js
- CSS padding property for svg elements
- how to use svg file for image source in D3
- How to do wordwrap for chart labels using d3.js
- how to create labels for data in donut chart using d3.js
- maximum number of svg elements for the browser in a map
- D3 multi-line tooltip for SVG element
- dagre-d3 IE workaround for SVG foreignObject element?
- Maximum width for column in bar chart
- conditional fill in d3.js for area chart
- dc.js - Listening for chart group render
More Query from same tag
- D3 json parsing in Scala js
- D3 positioning a custom SVG on scattersplot
- D3 transition line happening twice
- How to add click events inside d3 tooltip?
- How to scale bars of barchart so it shows the complete graph with data
- How to make multiple charts with d3.chart using nested data
- Add lines from bubble to popup template on a datamap
- cant render links for d3 radial tree
- D3 Graph - changing y-axis to integer
- D3 chart with search box
- How to import D3 package before another script/ package which requires D3?
- Export leaflet map WITH SVG layer to image
- D3: Setting selection transform attribute in a nicer way
- d3.js & nvd3.js axis and label precision formatting
- Grouped line chart, how to draw lines in a repeating pattern
- Filter .csv data based on user input and refresh d3.js map
- D3.JS - how do I add gridlines to my pie chart
- Stuck with integrating d3 with data
- Creating a dynamic list of DIVs with D3
- D3 Sunburst: Determine Leaf Color by Data and have its Parents Inherit that Color
- D3.js: Clustered Force layout with text and tool tips
- TypeScript D3 v4 import not working
- How to update node data in a D3.js force graph?
- Dimple js event hanlders
- Incrementing month by month in a time slider with D3.js
- D3.js: Circular clipping path isn't working?
- Can I turn a D3 map projection clockwise around its centre point?
- D3: Attach text to circle such that it has same priority as circle object
- What's the best way to expose this data via JSON/Web Service?