d3 / d3-plugins

[DEPRECATED] A repository for sharing D3.js V3 plugins.
https://github.com/d3/d3/wiki/Plugins
Other
1.81k stars 684 forks source link

IE 8 support for the Boxplot plug-in? #58

Closed amanu closed 11 years ago

amanu commented 11 years ago

please fix the Boxplot plug-in to work in IE 8 too.

regards.

jasondavies commented 11 years ago

This is unlikely to happen as d3.box relies on SVG, which IE8 doesn’t support. If you’re stuck with IE8, you could try using Chrome Frame.

amanu commented 11 years ago

d3.box relies on SVG, which IE8 doesn’t support.

HighCharts https://github.com/highslide-software/highcharts.com solved this by rendering VML instead of SVG for IE8. It works so well https://github.com/highslide-software/highcharts.com/blob/master/js/parts/VmlRenderer.js that it can even "export SVG" under IE8.

D3 is praised as THE visualization so library because it's plug-ins can render what standard charts can't. IE 8 is unfortunately still widely used in companies that make use of such visualizations, so I guess they just don't use D3 :(.

If you’re stuck with IE8, you could try using Chrome Frame.

This is mostly not an alternative :(. If users are allowed to use Chrome Frame, than they're allowed to use Chrome directly, and this is not the case :(.

mbostock commented 11 years ago

D3 is not a compatibility layer, and will never support IE8 with an SVG-to-VML fallback. Sorry. You are welcome to try using SVG Web or Raphaël.js via R2D3, but these require non-trivial effort, and even if you get it working, they are necessarily slow because IE8 is slow. Any fallback will greatly limit what you can do.

For my own graphics, I try to design such that the static view conveys most of the information, while interaction or animation provides an additional level of depth. (See Ben Shneiderman's infovis mantra for further context.) This isn't always possible, of course—some graphics are necessarily dynamic. But when it is, you can simply provide a screenshot as the fallback for IE8 and below, which requires minimal work on your part, and lets you devote your effort to supporting standard browsers that move the web forward.