簡體   English   中英

如何使線適合軸

[英]How to let the line fit into the axis

我正在嘗試使用D3繪制一條線,但是該線數據僅顯示在左上角,請您幫忙找到為什么該線不能適合軸的位置?

        var margin = { top: 20, right: 30, bottom: 30, left: 40 },
            width = 680 - margin.left - margin.right,
            height = 600 - margin.top - margin.bottom;

        var lineData = [{ "x": 1, "y": 5 }, { "x": 20, "y": 20 },
            { "x": 40, "y": 10 }, { "x": 60, "y": 40 },
            { "x": 80, "y": 5 }, { "x": 100, "y": 60 }];

        var x = d3.scale.ordinal()
            .rangeRoundBands([0, width], .1)
            .domain(lineData.map(function (d) { return d.x; }));

        var y = d3.scale.linear()
            .range([height, 0])
            .domain([0, d3.max(lineData, function (d) { return d.y; })]);

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

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

        var svgContainer = d3.select("body").append("svg")
            .attr("width", width + margin.left + margin.right)
            .attr("height", height + margin.top + margin.bottom)
            .append("g")
            .attr("transform", "translate(" + margin.left + "," + margin.top + ")");

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

        var lineGraph = svgContainer.append("path")
            .attr("d", lineFunction(lineData))
            .attr("stroke", "blue")
            .attr("stroke-width", 2)
            .attr("fill", "none");

        svgContainer.append("g")
            .attr("class", "x axis")
            .attr("transform", "translate(0," + height + ")")
            .call(xAxis);

        svgContainer.append("g")
            .attr("class", "y axis")
            .call(yAxis);
var lineFunction = d3.svg.line()
    .x(function (d) { return x(d.x); })
    .y(function (d) { return y(d.y); });

您需要將創建的比例應用於線功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM