[英]Scaling Axis with D3 JavaScript
我已经绘制了X和Y轴。 我在轴上有几个要显示的点。 对于X轴,我的积分从4.5到8;对于Y轴,我的积分从2到4。
您可以找到我所做的演示 。
function kmeans(){
x_means[0] = 5.9;
plotMeans();
}
问题在于此图显示了0.59等点。 但是,我无法看到5.9的值,因为它不在图表中。
关于如何解决这个问题的任何想法?
谢谢!
如果您检查JavaScript控制台,则会看到此错误:
Error: Invalid value for <circle> attribute cy="NaN"
这是因为您输入d3的数据是:
> numeric.transpose([[0.59],[]])
Array[2]
0: 0.59
1: undefined
以便:
.attr("cy", function(d, i){return Y(d[1]);});
是对未定义的操作。
编辑
不,只要重新阅读您的问题即可。 您的比例尺需要一个域 ,这是坐标空间的用户空间范围。 该范围就是坐标空间的像素范围。 比例尺将两者映射在一起:
var X = d3.scale.linear()
.range([0, width]) //<-- 0 to 960 pixels
.domain([0,10]); //<-- maps to coordinates 0 to 10
在这里查看更新。
我还对其进行了修改,以使用正确的轴,因此更易于可视化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.