gpt4 book ai didi

d3.js - 序数尺度反演

转载 作者:行者123 更新时间:2023-12-03 02:02:35 25 4
gpt4 key购买 nike

有什么方法可以找到序数尺度的反转吗?

我在 x 轴上使用字符串值,该值使用序数比例,而我在鼠标移动时我想找到 x 轴的反转以查找鼠标位置处有哪个字符串?

有什么办法可以找到这个吗?

var barLabels = dataset.map(function(datum) {
return datum.image;
});
console.log(barLabels);
var imageScale = d3.scale.ordinal()
.domain(barLabels)
.rangeRoundBands([0, w], 0.1);
// divides bands equally among total width, with 10% spacing.
console.log("imageScale....................");
console.log(imageScale.domain());

.
.
var xPos = d3.mouse(this)[0];
xScale.invert(xPos);

最佳答案

我实际上认为没有序数尺度的反转方法是没有意义的,但是你可以使用ordinal.range()方法来计算它,它会给你返回每个条形的起始值,以及其宽度的 ordinal.rangeBand() 方法。

示例如下: http://fiddle.jshell.net/dMpbh/2/

相关代码为

    .on("click", function(d,i) {
var xPos = d3.mouse(this)[0];
console.log("Clicked at " + xPos);
//console.log(imageScale.invert(xPos));
var leftEdges = imageScale.range();
var width = imageScale.rangeBand();
var j;
for(j=0; xPos > (leftEdges[j] + width); j++) {}
//do nothing, just increment j until case fails
console.log("Clicked on " + imageScale.domain()[j]);
});

关于d3.js - 序数尺度反演,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20758373/

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