我的数据看起来如下:使用序轴呈现在D3
变种的sampleData = [{ “×”: 'GOOG', “Y”:5 },{ “×” : 'FB', “Y”:20 },{ “×”: 'MSFT', “Y”:10 },{ “×”: 'EBAY', “Y”:40 },{ “x”:'AMZN', “y”:5 },{ “x”:'AAPL', “y”:60 }];
x轴代表股票名称,y轴代表股票数量。
我试图用散点图表示相同的情况,其中x轴将是序数(代表股票名称),而y轴将是股票数量。
我的代码如下。没有任何东西会被渲染。
var vis = d3.select("#svgVisualize");
var yMax = d3.max(sampleData, function(point) {return point.y;});
//step 1 : scale the data
var xange = d3.scale.ordinal();
var yRange = d3.scale.linear().range([400, 40]).domain([0,yMax]);
//step 2: scale the axis
var xAxis = d3.svg.axis().scale(xRange);
var yAxis = d3.svg.axis().scale(yRange).orient("left");
//Step3: append the x and y axis
vis.append('svg:g').call(xAxis).attr("transform", "translate(0,400)");
vis.append('svg:g').call(yAxis).attr("transform", "translate(40,0)");
var circles = vis.selectAll("circle").data(sampleData);
circles
.enter()
.insert("circle")
.attr("cx", function(d) { return xRange (d.x); })
.attr("cy", function(d) { return xRange (d.x); })
.attr("r", 10)
.style("fill", "red");
Plnkr可在这里:
http://plnkr.co/edit/5v76uKi5wDK65H2GGqVn
这对我有很大的帮助。谢谢! – iTurki