I tried the similar steps but couldn't make D3 run in IE8.
<head>
<meta charset="utf-8">
<script src="script/aight.js"></script>
<script type="text/javascript" src="script/es5-shim.js"></script>
<!-- <script type="text/javascript" src="script/es5-sham.js"></script> -->
<script type="text/javascript" src="script/sizzle.min.js"></script>
<script type="text/javascript" src="script/d3.v3.js"></script>
<script src="script/aight.d3.js"></script>
<script type="text/javascript" src="script/raphael.js"></script>
<script type="text/javascript" src="script/compactIE.js"></script>
<script type="text/javascript" src="script/jquery-1.9.1.js"></script>
<script type="text/javascript">
function newbar(id,text1,value) {
var color;
value = Math.round(value);
if(value<35)
color = "#BE0D0D";
else {
if(value<75)
color = "#F4D20E";
else
color = "#66EE66";
}
var w = $("#" + id).width();
var h = $("#" + id).height();
var vis = d3.select("#" + id)
.append("svg:svg")
.style("width", "100%")
.style("height", "100%")
var g = vis.append("svg:g")
//.attr("transform", "translate(0," + 0 + ")")
.style("width", w)
.style("height", h);
var x = 0;
var y = 0;
var rec1 = g.append("rect")
.attr("x", x)
.attr("y", y)
.attr("fill", "#F3F3F3")
.attr("height", h)
.attr("width", w)
var rec2 = g.append("rect")
.attr("x", x)
.attr("y", y)
.attr("fill", color)
.attr("height",h)
.on("mouseover", function () { d3.select(this).transition().style("opacity", 0.6); })
.on("mouseout", function () { d3.select(this).transition().style("opacity", 100); })
//Animation of bar
.attr("width", 0)
.transition()
.delay(100)
.duration(1000)
.attr("width", function (d) {
var barWidth = value;
if (barWidth == -1)
barWidth = 0;
return barWidth + "%";
})
//Adding score Text
var data = new Array();
data.push(value);
g.selectAll("text2")
.data(data)
.enter()
.append("svg:text")
.attr("x", 0)
.attr("y", h / 2 + 5)
// .attr("dx", function () {
// if (value <= 15)
// {return value + "%";}
// else
// {return 5;}
// })
.attr("text-anchor", "left")
.text(function () {
if (value != -1)
{
return text1 + " (" + value + ")";
}
else
{
return text1 + "(NA)";
}
})
.style("font-size", "14px")
.style("font-family", "Segoe UI")
}
</script>
</head>
<body>
<table style="width:100%;">
<tr>
<td style="width:60%;"></td>
<td style="width:40%;">
<div id="ddd" style="height:50px;"></div>
</td>
</tr>
</table>
<script>
newbar("ddd","Overall",50);
</script>
</body>
</html>