gpt4 book ai didi

javascript - 绘制点 x 和 y,轴 y 和 x 未正确显示

转载 作者:行者123 更新时间:2023-11-28 04:09:16 25 4
gpt4 key购买 nike

我试图通过在 x 轴和 y 轴上放置点来生成加载 csv 文件的折线图。由于某些奇怪的原因,轴没有正确显示。我的 x 和 y 为负值。所以它应该有一个像图中这样的笛卡尔平面。在这种情况下,必须显示完整的笛卡尔平面。在我看来,x 和 y 中有负值。

enter image description here

我不知道为什么点显示错误。

enter image description here

更新按钮,加载更新图表值的新点。

http://plnkr.co/edit/dDx8gRZIfjvemWpgikAp?p=preview

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


// Set the ranges
var x = d3.scale.linear().range([0, width]);
var y = d3.scale.linear().range([height, 0]);

// Define the axes
var xAxis = d3.svg.axis().scale(x)
.orient("bottom").ticks(5);

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

// Define the line
var valueline = d3.svg.line()
.x(function(d) { return x(d.datax); })
.y(function(d) { return y(d.datay); });

// Adds the svg canvas
var svg = 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 + ")");

最佳答案

不显示 x 和 y 中的负值,因为您的最小域值为 0:

x.domain([0, d3.max(data, function(d) { return d.datax; })]);
y.domain([0, d3.max(data, function(d) { return d.datay; })]);

应该是(这样它将数据集的最小值设置为域最小值)

x.domain(d3.extent(data, function(d) { return d.datax; }));
y.domain(d3.extent(data, function(d) { return d.datay; }));

工作代码here

关于javascript - 绘制点 x 和 y,轴 y 和 x 未正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46439925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com