JavaScript
var data =
[
{ "Supplier": "Supplier1", "Half": "2013 2H", "Value": 99.86047786 },
{ "Supplier": "Supplier1", "Half": "2013 1H", "Value": 93.86047786 },
{ "Supplier": "Supplier1", "Half": "2012 2H", "Value": 98.86047786 },
{ "Supplier": "Supplier1", "Half": "2012 1H", "Value": 96.86047786 },
{ "Supplier": "Supplier2", "Half": "2013 2H", "Value": 97.86047786 },
{ "Supplier": "Supplier2", "Half": "2013 1H", "Value": 91.86047786 },
{ "Supplier": "Supplier2", "Half": "2012 2H","Value": 93.86047786 },
{ "Supplier": "Supplier2", "Half": "2012 1H", "Value": 94.86047786 },
{ "Supplier": "Supplier3", "Half": "2013 2H", "Value": 92.86047786 },
{ "Supplier": "Supplier3", "Half": "2013 1H", "Value": 91.86047786 },
{ "Supplier": "Supplier3", "Half": "2012 2H", "Value": 88.86047786 },
{ "Supplier": "Supplier3", "Half": "2012 1H", "Value": 87.86047786 },
{ "Supplier": "Supplier4", "Half": "2013 2H", "Value": 88.86047786 },
{ "Supplier": "Supplier4", "Half": "2013 1H", "Value": 86.86047786 },
{ "Supplier": "Supplier4", "Half": "2012 2H", "Value": 83.86047786 },
{ "Supplier": "Supplier4", "Half": "2012 1H", "Value": 81.86047786 }
];
//Width and height
var margin = {top: 20, right: 20, bottom: 30, left: 40};
var width = 600 - margin.left - margin.right;
var height= 500-margin.top -margin.bottom;
var w = 600;
var h = 500;
var xValues = d3.set(data.map(function (d) { return d.Half; })).values().sort();
var xScale = d3.scale.ordinal()
.domain(xValues)
.rangePoints([0, width], 0.5);
var xAxis = d3.svg.axis().scale(xScale).orient("bottom").tickSize(height - margin.bottom);
var yScale = d3.scale.linear()
.domain([0, d3.max(data, function(d) {return d.Value; })])
.range([h - margin.top, margin.bottom]);
//Create SVG element
var svg = d3.select("body")
.append("svg")
.attr("width", w)
.attr("height", h);
svg.append("g")
.attr("class", "x axis")
...