Javascript Can';在d3.js中看不到圆圈

Javascript Can';在d3.js中看不到圆圈,javascript,d3.js,svg,data-visualization,Javascript,D3.js,Svg,Data Visualization,我正在尝试创建散点图,当我的轴被渲染时,我看不到任何圆。我不知道怎么了 我意识到我的数据值是字符串,所以我使用了“+”运算符。还是不行没有错误消息。我可以看到正在创建调试窗口中的元素,但它们不会显示。 这是我的密码: function visualize(data) { var margin = { top: 20, bottom: 80, right:50, left: 70 }; var width = 720 - margin.left + margin.right, height =

我正在尝试创建散点图,当我的轴被渲染时,我看不到任何圆。我不知道怎么了

我意识到我的数据值是字符串,所以我使用了“+”运算符。还是不行没有错误消息。我可以看到正在创建调试窗口中的元素,但它们不会显示。

这是我的密码:

function visualize(data) {

var margin = { top: 20, bottom: 80, right:50, left: 70 };
var width = 720 - margin.left + margin.right, height = 500 - margin.top - margin.bottom;

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

g=svg.append("g")
    .attr("transform","translate("+margin.left+","+margin.top+")");

var xScale = d3.scaleLinear().domain(d3.extent(data,function(d) {
    return +d.FTAG;
})).range([0, width]);

var yScale = d3.scaleLinear().domain([0,d3.max(data,function(d) { return +d["AF"]; })]).range([height, 0]);

var xAxis = d3.axisBottom(xScale);
var yAxis = d3.axisLeft(yScale);

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

d3.selectAll("dot").data(data)
    .enter()
    .append("g")
    .append("circle")
    .attr("r", 20)
    .attr("cx",
        function(d) {
            return xScale(+d.FTAG);
        })
    .attr("cy",
        function(d) {

         return yScale(+d.AF);
    })
    .style("fill",
        function(d) {
            if (+d.AF >= 20) {
                return "red";
            } else
                return "steelblue";
        })
    .style("stroke","black")
    .style("stroke-width",1.5);
}
在你的代码中

d3.selectAll("dot")
    .data(data)
    .enter()
    .append("g")
。。。不将组附加到任何位置

它必须是:

svg.selectAll("dot")
    .data(data)
    .enter()
    .append("g")
由于
svg
是将svg附加到代码中的

的选项

d3.selectAll("dot")
    .data(data)
    .enter()
    .append("g")
。。。不将组附加到任何位置

它必须是:

svg.selectAll("dot")
    .data(data)
    .enter()
    .append("g")

因为
svg
是将svg附加到

的选择,所以
数据在哪里?你必须发布一个,否则很难帮助你。它是tsv格式的。这些信息有什么帮助?请阅读我上面链接的页面。当我调试时,我可以看到我的数据正在加载。使用D3V4。您的
数据在哪里?你必须发布一个,否则很难帮助你。它是tsv格式的。这些信息有什么帮助?请阅读我上面链接的页面。当我调试时,我可以看到我的数据正在加载。使用D3V4。哇,我得到了一个“谢谢”!是的,我知道我不能推翻你的答案。但我试过:p@MohitMotwani对不起,我不是在抱怨你(我知道你不能投票,因为你的RP<15),那只是元中的一个笑话…是的,我理解。哇,我有一个“谢谢”!是的,我知道我不能推翻你的答案。但我试过:p@MohitMotwani对不起,我不是在抱怨你(我知道你不能投票,因为你的RP<15),那只是元中的一个笑话……是的,我理解。