Javascript d3.js线图轴赢得';不要去最高的数字

Javascript d3.js线图轴赢得';不要去最高的数字,javascript,d3.js,linegraph,Javascript,D3.js,Linegraph,这是我正在阅读的csv文件,prices13.csv date,price 1,32 2,62 6,50 10,145 我正在使用“” 这是图表的代码 <script type="text/javascript"> d3.csv("prices13.csv") .row(function(d) { return { date:(d.date),price:(d.price)};}) .get(function(error,data){ var

这是我正在阅读的csv文件,prices13.csv

date,price
1,32
2,62
6,50
10,145
我正在使用“” 这是图表的代码

 <script type="text/javascript">    

d3.csv("prices13.csv")
    .row(function(d) { return { date:(d.date),price:(d.price)};})
    .get(function(error,data){

    var height = 400;
    var width = 600;

    var maxDate = d3.max(data,function(d){ return d.date; });
    var minDate = d3.min(data,function(d){ return d.date; });
    var maxPrice = d3.max(data,function(d){ return d.price; });
    console.log(maxDate);   

    var y = d3.scale.linear()
            .domain([0,maxPrice])
            .range([height,0]);

    var x = d3.scale.linear()
                .domain([minDate, maxDate])
                .range([0,width]);

    var yAxis = d3.svg.axis().scale(y).orient("left");
    var xAxis = d3.svg.axis().scale(x).orient("bottom");

    var svg = d3.select('body').append('svg')
                .attr('height', '100%')
                .attr('width', '100%');

    var chartGroup = svg.append('g')
                    .attr('transform', 'translate(50,50)');

    var line = d3.svg.line()
                .x(function(d){return x(d.date);})
                .y(function(d){return y(d.price);});


    chartGroup.append('path').attr('d', line(data));
    chartGroup.append('g').attr('class', 'x axis').attr('transform','translate(0,'+height+')').call(xAxis);
    chartGroup.append('g').attr('class', 'y axis').call(yAxis);
    });

d3.csv(“价格13.csv”)
.row(函数(d){返回{日期:(d.date),价格:(d.price)};})
.get(函数(错误、数据){
var高度=400;
var宽度=600;
var maxDate=d3.max(数据,函数(d){return d.date;});
var minDate=d3.min(数据,函数(d){return d.date;});
var maxPrice=d3.max(数据,函数(d){返回d.price;});
console.log(maxDate);
变量y=d3.scale.linear()
.domain([0,maxPrice])
.范围([高度,0]);
var x=d3.scale.linear()
.domain([minDate,maxDate])
.范围([0,宽度]);
var yAxis=d3.svg.axis().scale(y).orient(“左”);
var xAxis=d3.svg.axis().scale(x.orient(“底部”);
var svg=d3。选择('body')。追加('svg'))
.attr(“高度”、“100%”)
.attr('宽度','100%);
var chartGroup=svg.append('g')
.attr('transform','translate(50,50');
var line=d3.svg.line()
.x(函数(d){返回x(d.date);})
.y(函数(d){返回y(d.price);});
chartGroup.append('path').attr('d',line(data));
chartGroup.append('g').attr('class','x轴').attr('transform','translate(0',+height+'))).call(xAxis);
chartGroup.append('g').attr('class','y axis').call(yAxis);
});

这将创建一个折线图,但是x轴仅上升到6.0,y轴仅上升到60

无论如何,它都会上升到.csv中的最高数字。这就是我在使用d3.max(数据,函数(d))时试图实现的

下面是指向图形输出的链接

您正在将d.date作为字符串进行评估,因此:

6 > 10 

1 < 10 < 2 < 6
    var maxDate = d3.max(data,function(d){ return +d.date; }); // HERE
    var minDate = d3.min(data,function(d){ return +d.date; }); // HERE
    var maxPrice = d3.max(data,function(d){ return +d.price; });  // HERE
    console.log(maxDate);